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