001    /**
002     * Copyright (c) 2000-2012 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.service;
016    
017    import com.liferay.portal.kernel.exception.PortalException;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.transaction.Isolation;
020    import com.liferay.portal.kernel.transaction.Propagation;
021    import com.liferay.portal.kernel.transaction.Transactional;
022    
023    /**
024     * The interface for the password policy local service.
025     *
026     * <p>
027     * This is a local service. Methods of this service will not have security checks based on the propagated JAAS credentials because this service can only be accessed from within the same VM.
028     * </p>
029     *
030     * @author Brian Wing Shun Chan
031     * @see PasswordPolicyLocalServiceUtil
032     * @see com.liferay.portal.service.base.PasswordPolicyLocalServiceBaseImpl
033     * @see com.liferay.portal.service.impl.PasswordPolicyLocalServiceImpl
034     * @generated
035     */
036    @Transactional(isolation = Isolation.PORTAL, rollbackFor =  {
037            PortalException.class, SystemException.class})
038    public interface PasswordPolicyLocalService extends PersistedModelLocalService {
039            /*
040             * NOTE FOR DEVELOPERS:
041             *
042             * Never modify or reference this interface directly. Always use {@link PasswordPolicyLocalServiceUtil} to access the password policy local service. Add custom service methods to {@link com.liferay.portal.service.impl.PasswordPolicyLocalServiceImpl} and rerun ServiceBuilder to automatically copy the method declarations to this interface.
043             */
044    
045            /**
046            * Adds the password policy to the database. Also notifies the appropriate model listeners.
047            *
048            * @param passwordPolicy the password policy
049            * @return the password policy that was added
050            * @throws SystemException if a system exception occurred
051            */
052            public com.liferay.portal.model.PasswordPolicy addPasswordPolicy(
053                    com.liferay.portal.model.PasswordPolicy passwordPolicy)
054                    throws com.liferay.portal.kernel.exception.SystemException;
055    
056            /**
057            * Creates a new password policy with the primary key. Does not add the password policy to the database.
058            *
059            * @param passwordPolicyId the primary key for the new password policy
060            * @return the new password policy
061            */
062            public com.liferay.portal.model.PasswordPolicy createPasswordPolicy(
063                    long passwordPolicyId);
064    
065            /**
066            * Deletes the password policy with the primary key from the database. Also notifies the appropriate model listeners.
067            *
068            * @param passwordPolicyId the primary key of the password policy
069            * @throws PortalException if a password policy with the primary key could not be found
070            * @throws SystemException if a system exception occurred
071            */
072            public void deletePasswordPolicy(long passwordPolicyId)
073                    throws com.liferay.portal.kernel.exception.PortalException,
074                            com.liferay.portal.kernel.exception.SystemException;
075    
076            /**
077            * Deletes the password policy from the database. Also notifies the appropriate model listeners.
078            *
079            * @param passwordPolicy the password policy
080            * @throws PortalException
081            * @throws SystemException if a system exception occurred
082            */
083            public void deletePasswordPolicy(
084                    com.liferay.portal.model.PasswordPolicy passwordPolicy)
085                    throws com.liferay.portal.kernel.exception.PortalException,
086                            com.liferay.portal.kernel.exception.SystemException;
087    
088            /**
089            * Performs a dynamic query on the database and returns the matching rows.
090            *
091            * @param dynamicQuery the dynamic query
092            * @return the matching rows
093            * @throws SystemException if a system exception occurred
094            */
095            @SuppressWarnings("rawtypes")
096            public java.util.List dynamicQuery(
097                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
098                    throws com.liferay.portal.kernel.exception.SystemException;
099    
100            /**
101            * Performs a dynamic query on the database and returns a range of the matching rows.
102            *
103            * <p>
104            * 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.
105            * </p>
106            *
107            * @param dynamicQuery the dynamic query
108            * @param start the lower bound of the range of model instances
109            * @param end the upper bound of the range of model instances (not inclusive)
110            * @return the range of matching rows
111            * @throws SystemException if a system exception occurred
112            */
113            @SuppressWarnings("rawtypes")
114            public java.util.List dynamicQuery(
115                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
116                    int end) throws com.liferay.portal.kernel.exception.SystemException;
117    
118            /**
119            * Performs a dynamic query on the database and returns an ordered range of the matching rows.
120            *
121            * <p>
122            * 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.
123            * </p>
124            *
125            * @param dynamicQuery the dynamic query
126            * @param start the lower bound of the range of model instances
127            * @param end the upper bound of the range of model instances (not inclusive)
128            * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
129            * @return the ordered range of matching rows
130            * @throws SystemException if a system exception occurred
131            */
132            @SuppressWarnings("rawtypes")
133            public java.util.List dynamicQuery(
134                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery, int start,
135                    int end,
136                    com.liferay.portal.kernel.util.OrderByComparator orderByComparator)
137                    throws com.liferay.portal.kernel.exception.SystemException;
138    
139            /**
140            * Returns the number of rows that match the dynamic query.
141            *
142            * @param dynamicQuery the dynamic query
143            * @return the number of rows that match the dynamic query
144            * @throws SystemException if a system exception occurred
145            */
146            public long dynamicQueryCount(
147                    com.liferay.portal.kernel.dao.orm.DynamicQuery dynamicQuery)
148                    throws com.liferay.portal.kernel.exception.SystemException;
149    
150            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
151            public com.liferay.portal.model.PasswordPolicy fetchPasswordPolicy(
152                    long passwordPolicyId)
153                    throws com.liferay.portal.kernel.exception.SystemException;
154    
155            /**
156            * Returns the password policy with the primary key.
157            *
158            * @param passwordPolicyId the primary key of the password policy
159            * @return the password policy
160            * @throws PortalException if a password policy with the primary key could not be found
161            * @throws SystemException if a system exception occurred
162            */
163            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
164            public com.liferay.portal.model.PasswordPolicy getPasswordPolicy(
165                    long passwordPolicyId)
166                    throws com.liferay.portal.kernel.exception.PortalException,
167                            com.liferay.portal.kernel.exception.SystemException;
168    
169            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
170            public com.liferay.portal.model.PersistedModel getPersistedModel(
171                    java.io.Serializable primaryKeyObj)
172                    throws com.liferay.portal.kernel.exception.PortalException,
173                            com.liferay.portal.kernel.exception.SystemException;
174    
175            /**
176            * Returns a range of all the password policies.
177            *
178            * <p>
179            * 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.
180            * </p>
181            *
182            * @param start the lower bound of the range of password policies
183            * @param end the upper bound of the range of password policies (not inclusive)
184            * @return the range of password policies
185            * @throws SystemException if a system exception occurred
186            */
187            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
188            public java.util.List<com.liferay.portal.model.PasswordPolicy> getPasswordPolicies(
189                    int start, int end)
190                    throws com.liferay.portal.kernel.exception.SystemException;
191    
192            /**
193            * Returns the number of password policies.
194            *
195            * @return the number of password policies
196            * @throws SystemException if a system exception occurred
197            */
198            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
199            public int getPasswordPoliciesCount()
200                    throws com.liferay.portal.kernel.exception.SystemException;
201    
202            /**
203            * Updates the password policy in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
204            *
205            * @param passwordPolicy the password policy
206            * @return the password policy that was updated
207            * @throws SystemException if a system exception occurred
208            */
209            public com.liferay.portal.model.PasswordPolicy updatePasswordPolicy(
210                    com.liferay.portal.model.PasswordPolicy passwordPolicy)
211                    throws com.liferay.portal.kernel.exception.SystemException;
212    
213            /**
214            * Updates the password policy in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
215            *
216            * @param passwordPolicy the password policy
217            * @param merge whether to merge the password policy with the current session. See {@link com.liferay.portal.service.persistence.BatchSession#update(com.liferay.portal.kernel.dao.orm.Session, com.liferay.portal.model.BaseModel, boolean)} for an explanation.
218            * @return the password policy that was updated
219            * @throws SystemException if a system exception occurred
220            */
221            public com.liferay.portal.model.PasswordPolicy updatePasswordPolicy(
222                    com.liferay.portal.model.PasswordPolicy passwordPolicy, boolean merge)
223                    throws com.liferay.portal.kernel.exception.SystemException;
224    
225            /**
226            * Returns the Spring bean ID for this bean.
227            *
228            * @return the Spring bean ID for this bean
229            */
230            public java.lang.String getBeanIdentifier();
231    
232            /**
233            * Sets the Spring bean ID for this bean.
234            *
235            * @param beanIdentifier the Spring bean ID for this bean
236            */
237            public void setBeanIdentifier(java.lang.String beanIdentifier);
238    
239            public com.liferay.portal.model.PasswordPolicy addPasswordPolicy(
240                    long userId, boolean defaultPolicy, java.lang.String name,
241                    java.lang.String description, boolean changeable,
242                    boolean changeRequired, long minAge, boolean checkSyntax,
243                    boolean allowDictionaryWords, int minAlphanumeric, int minLength,
244                    int minLowerCase, int minNumbers, int minSymbols, int minUpperCase,
245                    boolean history, int historyCount, boolean expireable, long maxAge,
246                    long warningTime, int graceLimit, boolean lockout, int maxFailure,
247                    long lockoutDuration, long resetFailureCount, long resetTicketMaxAge)
248                    throws com.liferay.portal.kernel.exception.PortalException,
249                            com.liferay.portal.kernel.exception.SystemException;
250    
251            public void checkDefaultPasswordPolicy(long companyId)
252                    throws com.liferay.portal.kernel.exception.PortalException,
253                            com.liferay.portal.kernel.exception.SystemException;
254    
255            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
256            public com.liferay.portal.model.PasswordPolicy getDefaultPasswordPolicy(
257                    long companyId)
258                    throws com.liferay.portal.kernel.exception.PortalException,
259                            com.liferay.portal.kernel.exception.SystemException;
260    
261            /**
262            * @deprecated
263            */
264            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
265            public com.liferay.portal.model.PasswordPolicy getPasswordPolicy(
266                    long companyId, long organizationId, long locationId)
267                    throws com.liferay.portal.kernel.exception.PortalException,
268                            com.liferay.portal.kernel.exception.SystemException;
269    
270            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
271            public com.liferay.portal.model.PasswordPolicy getPasswordPolicy(
272                    long companyId, long[] organizationIds)
273                    throws com.liferay.portal.kernel.exception.PortalException,
274                            com.liferay.portal.kernel.exception.SystemException;
275    
276            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
277            public com.liferay.portal.model.PasswordPolicy getPasswordPolicyByUserId(
278                    long userId)
279                    throws com.liferay.portal.kernel.exception.PortalException,
280                            com.liferay.portal.kernel.exception.SystemException;
281    
282            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
283            public java.util.List<com.liferay.portal.model.PasswordPolicy> search(
284                    long companyId, java.lang.String name, int start, int end,
285                    com.liferay.portal.kernel.util.OrderByComparator obc)
286                    throws com.liferay.portal.kernel.exception.SystemException;
287    
288            @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
289            public int searchCount(long companyId, java.lang.String name)
290                    throws com.liferay.portal.kernel.exception.SystemException;
291    
292            public com.liferay.portal.model.PasswordPolicy updatePasswordPolicy(
293                    long passwordPolicyId, java.lang.String name,
294                    java.lang.String description, boolean changeable,
295                    boolean changeRequired, long minAge, boolean checkSyntax,
296                    boolean allowDictionaryWords, int minAlphanumeric, int minLength,
297                    int minLowerCase, int minNumbers, int minSymbols, int minUpperCase,
298                    boolean history, int historyCount, boolean expireable, long maxAge,
299                    long warningTime, int graceLimit, boolean lockout, int maxFailure,
300                    long lockoutDuration, long resetFailureCount, long resetTicketMaxAge)
301                    throws com.liferay.portal.kernel.exception.PortalException,
302                            com.liferay.portal.kernel.exception.SystemException;
303    }