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.service.base;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.BeanReference;
020    import com.liferay.portal.kernel.dao.db.DB;
021    import com.liferay.portal.kernel.dao.db.DBManagerUtil;
022    import com.liferay.portal.kernel.dao.jdbc.SqlUpdate;
023    import com.liferay.portal.kernel.dao.jdbc.SqlUpdateFactoryUtil;
024    import com.liferay.portal.kernel.dao.orm.ActionableDynamicQuery;
025    import com.liferay.portal.kernel.dao.orm.DefaultActionableDynamicQuery;
026    import com.liferay.portal.kernel.dao.orm.DynamicQuery;
027    import com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil;
028    import com.liferay.portal.kernel.dao.orm.IndexableActionableDynamicQuery;
029    import com.liferay.portal.kernel.dao.orm.Projection;
030    import com.liferay.portal.kernel.exception.PortalException;
031    import com.liferay.portal.kernel.exception.SystemException;
032    import com.liferay.portal.kernel.module.framework.service.IdentifiableOSGiService;
033    import com.liferay.portal.kernel.search.Indexable;
034    import com.liferay.portal.kernel.search.IndexableType;
035    import com.liferay.portal.kernel.util.OrderByComparator;
036    import com.liferay.portal.model.LayoutBranch;
037    import com.liferay.portal.model.PersistedModel;
038    import com.liferay.portal.service.BaseLocalServiceImpl;
039    import com.liferay.portal.service.LayoutBranchLocalService;
040    import com.liferay.portal.service.PersistedModelLocalServiceRegistry;
041    import com.liferay.portal.service.persistence.LayoutBranchPersistence;
042    import com.liferay.portal.service.persistence.LayoutRevisionPersistence;
043    import com.liferay.portal.service.persistence.LayoutSetBranchPersistence;
044    import com.liferay.portal.service.persistence.RecentLayoutBranchPersistence;
045    import com.liferay.portal.service.persistence.UserFinder;
046    import com.liferay.portal.service.persistence.UserPersistence;
047    import com.liferay.portal.util.PortalUtil;
048    
049    import java.io.Serializable;
050    
051    import java.util.List;
052    
053    import javax.sql.DataSource;
054    
055    /**
056     * Provides the base implementation for the layout branch local service.
057     *
058     * <p>
059     * This implementation exists only as a container for the default service methods generated by ServiceBuilder. All custom service methods should be put in {@link com.liferay.portal.service.impl.LayoutBranchLocalServiceImpl}.
060     * </p>
061     *
062     * @author Brian Wing Shun Chan
063     * @see com.liferay.portal.service.impl.LayoutBranchLocalServiceImpl
064     * @see com.liferay.portal.service.LayoutBranchLocalServiceUtil
065     * @generated
066     */
067    @ProviderType
068    public abstract class LayoutBranchLocalServiceBaseImpl
069            extends BaseLocalServiceImpl implements LayoutBranchLocalService,
070                    IdentifiableOSGiService {
071            /*
072             * NOTE FOR DEVELOPERS:
073             *
074             * Never modify or reference this class directly. Always use {@link com.liferay.portal.service.LayoutBranchLocalServiceUtil} to access the layout branch local service.
075             */
076    
077            /**
078             * Adds the layout branch to the database. Also notifies the appropriate model listeners.
079             *
080             * @param layoutBranch the layout branch
081             * @return the layout branch that was added
082             */
083            @Indexable(type = IndexableType.REINDEX)
084            @Override
085            public LayoutBranch addLayoutBranch(LayoutBranch layoutBranch) {
086                    layoutBranch.setNew(true);
087    
088                    return layoutBranchPersistence.update(layoutBranch);
089            }
090    
091            /**
092             * Creates a new layout branch with the primary key. Does not add the layout branch to the database.
093             *
094             * @param layoutBranchId the primary key for the new layout branch
095             * @return the new layout branch
096             */
097            @Override
098            public LayoutBranch createLayoutBranch(long layoutBranchId) {
099                    return layoutBranchPersistence.create(layoutBranchId);
100            }
101    
102            /**
103             * Deletes the layout branch with the primary key from the database. Also notifies the appropriate model listeners.
104             *
105             * @param layoutBranchId the primary key of the layout branch
106             * @return the layout branch that was removed
107             * @throws PortalException if a layout branch with the primary key could not be found
108             */
109            @Indexable(type = IndexableType.DELETE)
110            @Override
111            public LayoutBranch deleteLayoutBranch(long layoutBranchId)
112                    throws PortalException {
113                    return layoutBranchPersistence.remove(layoutBranchId);
114            }
115    
116            /**
117             * Deletes the layout branch from the database. Also notifies the appropriate model listeners.
118             *
119             * @param layoutBranch the layout branch
120             * @return the layout branch that was removed
121             */
122            @Indexable(type = IndexableType.DELETE)
123            @Override
124            public LayoutBranch deleteLayoutBranch(LayoutBranch layoutBranch) {
125                    return layoutBranchPersistence.remove(layoutBranch);
126            }
127    
128            @Override
129            public DynamicQuery dynamicQuery() {
130                    Class<?> clazz = getClass();
131    
132                    return DynamicQueryFactoryUtil.forClass(LayoutBranch.class,
133                            clazz.getClassLoader());
134            }
135    
136            /**
137             * Performs a dynamic query on the database and returns the matching rows.
138             *
139             * @param dynamicQuery the dynamic query
140             * @return the matching rows
141             */
142            @Override
143            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery) {
144                    return layoutBranchPersistence.findWithDynamicQuery(dynamicQuery);
145            }
146    
147            /**
148             * Performs a dynamic query on the database and returns a range of the matching rows.
149             *
150             * <p>
151             * 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.LayoutBranchModelImpl}. 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.
152             * </p>
153             *
154             * @param dynamicQuery the dynamic query
155             * @param start the lower bound of the range of model instances
156             * @param end the upper bound of the range of model instances (not inclusive)
157             * @return the range of matching rows
158             */
159            @Override
160            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
161                    int end) {
162                    return layoutBranchPersistence.findWithDynamicQuery(dynamicQuery,
163                            start, end);
164            }
165    
166            /**
167             * Performs a dynamic query on the database and returns an ordered range of the matching rows.
168             *
169             * <p>
170             * 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.LayoutBranchModelImpl}. 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.
171             * </p>
172             *
173             * @param dynamicQuery the dynamic query
174             * @param start the lower bound of the range of model instances
175             * @param end the upper bound of the range of model instances (not inclusive)
176             * @param orderByComparator the comparator to order the results by (optionally <code>null</code>)
177             * @return the ordered range of matching rows
178             */
179            @Override
180            public <T> List<T> dynamicQuery(DynamicQuery dynamicQuery, int start,
181                    int end, OrderByComparator<T> orderByComparator) {
182                    return layoutBranchPersistence.findWithDynamicQuery(dynamicQuery,
183                            start, end, orderByComparator);
184            }
185    
186            /**
187             * Returns the number of rows matching the dynamic query.
188             *
189             * @param dynamicQuery the dynamic query
190             * @return the number of rows matching the dynamic query
191             */
192            @Override
193            public long dynamicQueryCount(DynamicQuery dynamicQuery) {
194                    return layoutBranchPersistence.countWithDynamicQuery(dynamicQuery);
195            }
196    
197            /**
198             * Returns the number of rows matching the dynamic query.
199             *
200             * @param dynamicQuery the dynamic query
201             * @param projection the projection to apply to the query
202             * @return the number of rows matching the dynamic query
203             */
204            @Override
205            public long dynamicQueryCount(DynamicQuery dynamicQuery,
206                    Projection projection) {
207                    return layoutBranchPersistence.countWithDynamicQuery(dynamicQuery,
208                            projection);
209            }
210    
211            @Override
212            public LayoutBranch fetchLayoutBranch(long layoutBranchId) {
213                    return layoutBranchPersistence.fetchByPrimaryKey(layoutBranchId);
214            }
215    
216            /**
217             * Returns the layout branch with the primary key.
218             *
219             * @param layoutBranchId the primary key of the layout branch
220             * @return the layout branch
221             * @throws PortalException if a layout branch with the primary key could not be found
222             */
223            @Override
224            public LayoutBranch getLayoutBranch(long layoutBranchId)
225                    throws PortalException {
226                    return layoutBranchPersistence.findByPrimaryKey(layoutBranchId);
227            }
228    
229            @Override
230            public ActionableDynamicQuery getActionableDynamicQuery() {
231                    ActionableDynamicQuery actionableDynamicQuery = new DefaultActionableDynamicQuery();
232    
233                    actionableDynamicQuery.setBaseLocalService(com.liferay.portal.service.LayoutBranchLocalServiceUtil.getService());
234                    actionableDynamicQuery.setClassLoader(getClassLoader());
235                    actionableDynamicQuery.setModelClass(LayoutBranch.class);
236    
237                    actionableDynamicQuery.setPrimaryKeyPropertyName("layoutBranchId");
238    
239                    return actionableDynamicQuery;
240            }
241    
242            @Override
243            public IndexableActionableDynamicQuery getIndexableActionableDynamicQuery() {
244                    IndexableActionableDynamicQuery indexableActionableDynamicQuery = new IndexableActionableDynamicQuery();
245    
246                    indexableActionableDynamicQuery.setBaseLocalService(com.liferay.portal.service.LayoutBranchLocalServiceUtil.getService());
247                    indexableActionableDynamicQuery.setClassLoader(getClassLoader());
248                    indexableActionableDynamicQuery.setModelClass(LayoutBranch.class);
249    
250                    indexableActionableDynamicQuery.setPrimaryKeyPropertyName(
251                            "layoutBranchId");
252    
253                    return indexableActionableDynamicQuery;
254            }
255    
256            protected void initActionableDynamicQuery(
257                    ActionableDynamicQuery actionableDynamicQuery) {
258                    actionableDynamicQuery.setBaseLocalService(com.liferay.portal.service.LayoutBranchLocalServiceUtil.getService());
259                    actionableDynamicQuery.setClassLoader(getClassLoader());
260                    actionableDynamicQuery.setModelClass(LayoutBranch.class);
261    
262                    actionableDynamicQuery.setPrimaryKeyPropertyName("layoutBranchId");
263            }
264    
265            /**
266             * @throws PortalException
267             */
268            @Override
269            public PersistedModel deletePersistedModel(PersistedModel persistedModel)
270                    throws PortalException {
271                    return layoutBranchLocalService.deleteLayoutBranch((LayoutBranch)persistedModel);
272            }
273    
274            @Override
275            public PersistedModel getPersistedModel(Serializable primaryKeyObj)
276                    throws PortalException {
277                    return layoutBranchPersistence.findByPrimaryKey(primaryKeyObj);
278            }
279    
280            /**
281             * Returns a range of all the layout branchs.
282             *
283             * <p>
284             * 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.LayoutBranchModelImpl}. 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.
285             * </p>
286             *
287             * @param start the lower bound of the range of layout branchs
288             * @param end the upper bound of the range of layout branchs (not inclusive)
289             * @return the range of layout branchs
290             */
291            @Override
292            public List<LayoutBranch> getLayoutBranchs(int start, int end) {
293                    return layoutBranchPersistence.findAll(start, end);
294            }
295    
296            /**
297             * Returns the number of layout branchs.
298             *
299             * @return the number of layout branchs
300             */
301            @Override
302            public int getLayoutBranchsCount() {
303                    return layoutBranchPersistence.countAll();
304            }
305    
306            /**
307             * Updates the layout branch in the database or adds it if it does not yet exist. Also notifies the appropriate model listeners.
308             *
309             * @param layoutBranch the layout branch
310             * @return the layout branch that was updated
311             */
312            @Indexable(type = IndexableType.REINDEX)
313            @Override
314            public LayoutBranch updateLayoutBranch(LayoutBranch layoutBranch) {
315                    return layoutBranchPersistence.update(layoutBranch);
316            }
317    
318            /**
319             * Returns the layout branch local service.
320             *
321             * @return the layout branch local service
322             */
323            public LayoutBranchLocalService getLayoutBranchLocalService() {
324                    return layoutBranchLocalService;
325            }
326    
327            /**
328             * Sets the layout branch local service.
329             *
330             * @param layoutBranchLocalService the layout branch local service
331             */
332            public void setLayoutBranchLocalService(
333                    LayoutBranchLocalService layoutBranchLocalService) {
334                    this.layoutBranchLocalService = layoutBranchLocalService;
335            }
336    
337            /**
338             * Returns the layout branch persistence.
339             *
340             * @return the layout branch persistence
341             */
342            public LayoutBranchPersistence getLayoutBranchPersistence() {
343                    return layoutBranchPersistence;
344            }
345    
346            /**
347             * Sets the layout branch persistence.
348             *
349             * @param layoutBranchPersistence the layout branch persistence
350             */
351            public void setLayoutBranchPersistence(
352                    LayoutBranchPersistence layoutBranchPersistence) {
353                    this.layoutBranchPersistence = layoutBranchPersistence;
354            }
355    
356            /**
357             * Returns the counter local service.
358             *
359             * @return the counter local service
360             */
361            public com.liferay.counter.service.CounterLocalService getCounterLocalService() {
362                    return counterLocalService;
363            }
364    
365            /**
366             * Sets the counter local service.
367             *
368             * @param counterLocalService the counter local service
369             */
370            public void setCounterLocalService(
371                    com.liferay.counter.service.CounterLocalService counterLocalService) {
372                    this.counterLocalService = counterLocalService;
373            }
374    
375            /**
376             * Returns the layout revision local service.
377             *
378             * @return the layout revision local service
379             */
380            public com.liferay.portal.service.LayoutRevisionLocalService getLayoutRevisionLocalService() {
381                    return layoutRevisionLocalService;
382            }
383    
384            /**
385             * Sets the layout revision local service.
386             *
387             * @param layoutRevisionLocalService the layout revision local service
388             */
389            public void setLayoutRevisionLocalService(
390                    com.liferay.portal.service.LayoutRevisionLocalService layoutRevisionLocalService) {
391                    this.layoutRevisionLocalService = layoutRevisionLocalService;
392            }
393    
394            /**
395             * Returns the layout revision persistence.
396             *
397             * @return the layout revision persistence
398             */
399            public LayoutRevisionPersistence getLayoutRevisionPersistence() {
400                    return layoutRevisionPersistence;
401            }
402    
403            /**
404             * Sets the layout revision persistence.
405             *
406             * @param layoutRevisionPersistence the layout revision persistence
407             */
408            public void setLayoutRevisionPersistence(
409                    LayoutRevisionPersistence layoutRevisionPersistence) {
410                    this.layoutRevisionPersistence = layoutRevisionPersistence;
411            }
412    
413            /**
414             * Returns the layout set branch local service.
415             *
416             * @return the layout set branch local service
417             */
418            public com.liferay.portal.service.LayoutSetBranchLocalService getLayoutSetBranchLocalService() {
419                    return layoutSetBranchLocalService;
420            }
421    
422            /**
423             * Sets the layout set branch local service.
424             *
425             * @param layoutSetBranchLocalService the layout set branch local service
426             */
427            public void setLayoutSetBranchLocalService(
428                    com.liferay.portal.service.LayoutSetBranchLocalService layoutSetBranchLocalService) {
429                    this.layoutSetBranchLocalService = layoutSetBranchLocalService;
430            }
431    
432            /**
433             * Returns the layout set branch persistence.
434             *
435             * @return the layout set branch persistence
436             */
437            public LayoutSetBranchPersistence getLayoutSetBranchPersistence() {
438                    return layoutSetBranchPersistence;
439            }
440    
441            /**
442             * Sets the layout set branch persistence.
443             *
444             * @param layoutSetBranchPersistence the layout set branch persistence
445             */
446            public void setLayoutSetBranchPersistence(
447                    LayoutSetBranchPersistence layoutSetBranchPersistence) {
448                    this.layoutSetBranchPersistence = layoutSetBranchPersistence;
449            }
450    
451            /**
452             * Returns the recent layout branch local service.
453             *
454             * @return the recent layout branch local service
455             */
456            public com.liferay.portal.service.RecentLayoutBranchLocalService getRecentLayoutBranchLocalService() {
457                    return recentLayoutBranchLocalService;
458            }
459    
460            /**
461             * Sets the recent layout branch local service.
462             *
463             * @param recentLayoutBranchLocalService the recent layout branch local service
464             */
465            public void setRecentLayoutBranchLocalService(
466                    com.liferay.portal.service.RecentLayoutBranchLocalService recentLayoutBranchLocalService) {
467                    this.recentLayoutBranchLocalService = recentLayoutBranchLocalService;
468            }
469    
470            /**
471             * Returns the recent layout branch persistence.
472             *
473             * @return the recent layout branch persistence
474             */
475            public RecentLayoutBranchPersistence getRecentLayoutBranchPersistence() {
476                    return recentLayoutBranchPersistence;
477            }
478    
479            /**
480             * Sets the recent layout branch persistence.
481             *
482             * @param recentLayoutBranchPersistence the recent layout branch persistence
483             */
484            public void setRecentLayoutBranchPersistence(
485                    RecentLayoutBranchPersistence recentLayoutBranchPersistence) {
486                    this.recentLayoutBranchPersistence = recentLayoutBranchPersistence;
487            }
488    
489            /**
490             * Returns the user local service.
491             *
492             * @return the user local service
493             */
494            public com.liferay.portal.service.UserLocalService getUserLocalService() {
495                    return userLocalService;
496            }
497    
498            /**
499             * Sets the user local service.
500             *
501             * @param userLocalService the user local service
502             */
503            public void setUserLocalService(
504                    com.liferay.portal.service.UserLocalService userLocalService) {
505                    this.userLocalService = userLocalService;
506            }
507    
508            /**
509             * Returns the user persistence.
510             *
511             * @return the user persistence
512             */
513            public UserPersistence getUserPersistence() {
514                    return userPersistence;
515            }
516    
517            /**
518             * Sets the user persistence.
519             *
520             * @param userPersistence the user persistence
521             */
522            public void setUserPersistence(UserPersistence userPersistence) {
523                    this.userPersistence = userPersistence;
524            }
525    
526            /**
527             * Returns the user finder.
528             *
529             * @return the user finder
530             */
531            public UserFinder getUserFinder() {
532                    return userFinder;
533            }
534    
535            /**
536             * Sets the user finder.
537             *
538             * @param userFinder the user finder
539             */
540            public void setUserFinder(UserFinder userFinder) {
541                    this.userFinder = userFinder;
542            }
543    
544            public void afterPropertiesSet() {
545                    persistedModelLocalServiceRegistry.register("com.liferay.portal.model.LayoutBranch",
546                            layoutBranchLocalService);
547            }
548    
549            public void destroy() {
550                    persistedModelLocalServiceRegistry.unregister(
551                            "com.liferay.portal.model.LayoutBranch");
552            }
553    
554            /**
555             * Returns the OSGi service identifier.
556             *
557             * @return the OSGi service identifier
558             */
559            @Override
560            public String getOSGiServiceIdentifier() {
561                    return LayoutBranchLocalService.class.getName();
562            }
563    
564            protected Class<?> getModelClass() {
565                    return LayoutBranch.class;
566            }
567    
568            protected String getModelClassName() {
569                    return LayoutBranch.class.getName();
570            }
571    
572            /**
573             * Performs a SQL query.
574             *
575             * @param sql the sql query
576             */
577            protected void runSQL(String sql) {
578                    try {
579                            DataSource dataSource = layoutBranchPersistence.getDataSource();
580    
581                            DB db = DBManagerUtil.getDB();
582    
583                            sql = db.buildSQL(sql);
584                            sql = PortalUtil.transformSQL(sql);
585    
586                            SqlUpdate sqlUpdate = SqlUpdateFactoryUtil.getSqlUpdate(dataSource,
587                                            sql, new int[0]);
588    
589                            sqlUpdate.update();
590                    }
591                    catch (Exception e) {
592                            throw new SystemException(e);
593                    }
594            }
595    
596            @BeanReference(type = com.liferay.portal.service.LayoutBranchLocalService.class)
597            protected LayoutBranchLocalService layoutBranchLocalService;
598            @BeanReference(type = LayoutBranchPersistence.class)
599            protected LayoutBranchPersistence layoutBranchPersistence;
600            @BeanReference(type = com.liferay.counter.service.CounterLocalService.class)
601            protected com.liferay.counter.service.CounterLocalService counterLocalService;
602            @BeanReference(type = com.liferay.portal.service.LayoutRevisionLocalService.class)
603            protected com.liferay.portal.service.LayoutRevisionLocalService layoutRevisionLocalService;
604            @BeanReference(type = LayoutRevisionPersistence.class)
605            protected LayoutRevisionPersistence layoutRevisionPersistence;
606            @BeanReference(type = com.liferay.portal.service.LayoutSetBranchLocalService.class)
607            protected com.liferay.portal.service.LayoutSetBranchLocalService layoutSetBranchLocalService;
608            @BeanReference(type = LayoutSetBranchPersistence.class)
609            protected LayoutSetBranchPersistence layoutSetBranchPersistence;
610            @BeanReference(type = com.liferay.portal.service.RecentLayoutBranchLocalService.class)
611            protected com.liferay.portal.service.RecentLayoutBranchLocalService recentLayoutBranchLocalService;
612            @BeanReference(type = RecentLayoutBranchPersistence.class)
613            protected RecentLayoutBranchPersistence recentLayoutBranchPersistence;
614            @BeanReference(type = com.liferay.portal.service.UserLocalService.class)
615            protected com.liferay.portal.service.UserLocalService userLocalService;
616            @BeanReference(type = UserPersistence.class)
617            protected UserPersistence userPersistence;
618            @BeanReference(type = UserFinder.class)
619            protected UserFinder userFinder;
620            @BeanReference(type = PersistedModelLocalServiceRegistry.class)
621            protected PersistedModelLocalServiceRegistry persistedModelLocalServiceRegistry;
622    }