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