001 /** 002 * Copyright (c) 2000-present Liferay, Inc. All rights reserved. 003 * 004 * This library is free software; you can redistribute it and/or modify it under 005 * the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or (at your option) 007 * any later version. 008 * 009 * This library is distributed in the hope that it will be useful, but WITHOUT 010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 011 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more 012 * details. 013 */ 014 015 package com.liferay.portal.kernel.service; 016 017 import aQute.bnd.annotation.ProviderType; 018 019 import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery; 020 import com.liferay.portal.kernel.dao.orm.DynamicQuery; 021 import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery; 022 import com.liferay.portal.kernel.dao.orm.Projection; 023 import com.liferay.portal.kernel.exception.PortalException; 024 import com.liferay.portal.kernel.exception.SystemException; 025 import com.liferay.portal.kernel.model.PasswordTracker; 026 import com.liferay.portal.kernel.model.PersistedModel; 027 import com.liferay.portal.kernel.search.Indexable; 028 import com.liferay.portal.kernel.search.IndexableType; 029 import com.liferay.portal.kernel.transaction.Isolation; 030 import com.liferay.portal.kernel.transaction.Propagation; 031 import com.liferay.portal.kernel.transaction.Transactional; 032 import com.liferay.portal.kernel.util.OrderByComparator; 033 034 import java.io.Serializable; 035 036 import java.util.List; 037 038 /** 039 * Provides the local service interface for PasswordTracker. Methods of this 040 * service will not have security checks based on the propagated JAAS 041 * credentials because this service can only be accessed from within the same 042 * VM. 043 * 044 * @author Brian Wing Shun Chan 045 * @see PasswordTrackerLocalServiceUtil 046 * @see com.liferay.portal.service.base.PasswordTrackerLocalServiceBaseImpl 047 * @see com.liferay.portal.service.impl.PasswordTrackerLocalServiceImpl 048 * @generated 049 */ 050 @ProviderType 051 @Transactional(isolation = Isolation.PORTAL, rollbackFor = { 052 PortalException.class, SystemException.class}) 053 public interface PasswordTrackerLocalService extends BaseLocalService, 054 PersistedModelLocalService { 055 /* 056 * NOTE FOR DEVELOPERS: 057 * 058 * Never modify or reference this interface directly. Always use {@link PasswordTrackerLocalServiceUtil} to access the password tracker local service. Add custom service methods to {@link com.liferay.portal.service.impl.PasswordTrackerLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface. 059 */ 060 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 061 public boolean isSameAsCurrentPassword(long userId, 062 java.lang.String newClearTextPwd) throws PortalException; 063 064 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 065 public boolean isValidPassword(long userId, java.lang.String newClearTextPwd) 066 throws PortalException; 067 068 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 069 public ActionableDynamicQuery getActionableDynamicQuery(); 070 071 public DynamicQuery dynamicQuery(); 072 073 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 074 public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery(); 075 076 /** 077 * Adds the password tracker to the database. Also notifies the appropriate model listeners. 078 * 079 * @param passwordTracker the password tracker 080 * @return the password tracker that was added 081 */ 082 @Indexable(type = IndexableType.REINDEX) 083 public PasswordTracker addPasswordTracker(PasswordTracker passwordTracker); 084 085 /** 086 * Creates a new password tracker with the primary key. Does not add the password tracker to the database. 087 * 088 * @param passwordTrackerId the primary key for the new password tracker 089 * @return the new password tracker 090 */ 091 public PasswordTracker createPasswordTracker(long passwordTrackerId); 092 093 /** 094 * Deletes the password tracker from the database. Also notifies the appropriate model listeners. 095 * 096 * @param passwordTracker the password tracker 097 * @return the password tracker that was removed 098 */ 099 @Indexable(type = IndexableType.DELETE) 100 public PasswordTracker deletePasswordTracker( 101 PasswordTracker passwordTracker); 102 103 /** 104 * Deletes the password tracker with the primary key from the database. Also notifies the appropriate model listeners. 105 * 106 * @param passwordTrackerId the primary key of the password tracker 107 * @return the password tracker that was removed 108 * @throws PortalException if a password tracker with the primary key could not be found 109 */ 110 @Indexable(type = IndexableType.DELETE) 111 public PasswordTracker deletePasswordTracker(long passwordTrackerId) 112 throws PortalException; 113 114 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 115 public PasswordTracker fetchPasswordTracker(long passwordTrackerId); 116 117 /** 118 * Returns the password tracker with the primary key. 119 * 120 * @param passwordTrackerId the primary key of the password tracker 121 * @return the password tracker 122 * @throws PortalException if a password tracker with the primary key could not be found 123 */ 124 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 125 public PasswordTracker getPasswordTracker(long passwordTrackerId) 126 throws PortalException; 127 128 /** 129 * Updates the password tracker in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners. 130 * 131 * @param passwordTracker the password tracker 132 * @return the password tracker that was updated 133 */ 134 @Indexable(type = IndexableType.REINDEX) 135 public PasswordTracker updatePasswordTracker( 136 PasswordTracker passwordTracker); 137 138 /** 139 * @throws PortalException 140 */ 141 @Override 142 public PersistedModel deletePersistedModel(PersistedModel persistedModel) 143 throws PortalException; 144 145 @Override 146 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 147 public PersistedModel getPersistedModel(Serializable primaryKeyObj) 148 throws PortalException; 149 150 /** 151 * Returns the number of password trackers. 152 * 153 * @return the number of password trackers 154 */ 155 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 156 public int getPasswordTrackersCount(); 157 158 /** 159 * Returns the OSGi service identifier. 160 * 161 * @return the OSGi service identifier 162 */ 163 public java.lang.String getOSGiServiceIdentifier(); 164 165 /** 166 * Performs a dynamic query on the database and returns the matching rows. 167 * 168 * @param dynamicQuery the dynamic query 169 * @return the matching rows 170 */ 171 public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery); 172 173 /** 174 * Performs a dynamic query on the database and returns a range of the matching rows. 175 * 176 * <p> 177 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.PasswordTrackerModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 178 * </p> 179 * 180 * @param dynamicQuery the dynamic query 181 * @param start the lower bound of the range of model instances 182 * @param end the upper bound of the range of model instances (not inclusive) 183 * @return the range of matching rows 184 */ 185 public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, 186 int end); 187 188 /** 189 * Performs a dynamic query on the database and returns an ordered range of the matching rows. 190 * 191 * <p> 192 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.PasswordTrackerModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 193 * </p> 194 * 195 * @param dynamicQuery the dynamic query 196 * @param start the lower bound of the range of model instances 197 * @param end the upper bound of the range of model instances (not inclusive) 198 * @param orderByComparator the comparator to order the results by (optionally <code>null</code>) 199 * @return the ordered range of matching rows 200 */ 201 public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start, 202 int end, OrderByComparator<T> orderByComparator); 203 204 /** 205 * Returns a range of all the password trackers. 206 * 207 * <p> 208 * Useful when paginating results. Returns a maximum of <code>end - start</code> instances. <code>start</code> and <code>end</code> are not primary keys, they are indexes in the result set. Thus, <code>0</code> refers to the first result in the set. Setting both <code>start</code> and <code>end</code> to {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS} will return the full result set. If <code>orderByComparator</code> is specified, then the query will include the given ORDER BY logic. If <code>orderByComparator</code> is absent and pagination is required (<code>start</code> and <code>end</code> are not {@link com.liferay.portal.kernel.dao.orm.QueryUtil#ALL_POS}), then the query will include the default ORDER BY logic from {@link com.liferay.portal.model.impl.PasswordTrackerModelImpl}. If both <code>orderByComparator</code> and pagination are absent, for performance reasons, the query will not have an ORDER BY clause and the returned result set will be sorted on by the primary key in an ascending order. 209 * </p> 210 * 211 * @param start the lower bound of the range of password trackers 212 * @param end the upper bound of the range of password trackers (not inclusive) 213 * @return the range of password trackers 214 */ 215 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true) 216 public List<PasswordTracker> getPasswordTrackers(int start, int end); 217 218 /** 219 * Returns the number of rows matching the dynamic query. 220 * 221 * @param dynamicQuery the dynamic query 222 * @return the number of rows matching the dynamic query 223 */ 224 public long dynamicQueryCount(DynamicQuery dynamicQuery); 225 226 /** 227 * Returns the number of rows matching the dynamic query. 228 * 229 * @param dynamicQuery the dynamic query 230 * @param projection the projection to apply to the query 231 * @return the number of rows matching the dynamic query 232 */ 233 public long dynamicQueryCount(DynamicQuery dynamicQuery, 234 Projection projection); 235 236 public void deletePasswordTrackers(long userId); 237 238 public void trackPassword(long userId, java.lang.String encPassword) 239 throws PortalException; 240 }