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.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.exception.PortalException;
021    import com.liferay.portal.kernel.json.JSON;
022    import com.liferay.portal.kernel.model.CacheModel;
023    import com.liferay.portal.kernel.model.User;
024    import com.liferay.portal.kernel.model.UserGroupRole;
025    import com.liferay.portal.kernel.model.UserGroupRoleModel;
026    import com.liferay.portal.kernel.model.UserGroupRoleSoap;
027    import com.liferay.portal.kernel.model.impl.BaseModelImpl;
028    import com.liferay.portal.kernel.service.UserLocalServiceUtil;
029    import com.liferay.portal.kernel.service.persistence.UserGroupRolePK;
030    import com.liferay.portal.kernel.util.GetterUtil;
031    import com.liferay.portal.kernel.util.ProxyUtil;
032    import com.liferay.portal.kernel.util.StringBundler;
033    import com.liferay.portal.kernel.util.StringPool;
034    
035    import java.io.Serializable;
036    
037    import java.sql.Types;
038    
039    import java.util.ArrayList;
040    import java.util.HashMap;
041    import java.util.List;
042    import java.util.Map;
043    
044    /**
045     * The base model implementation for the UserGroupRole service. Represents a row in the "UserGroupRole" database table, with each column mapped to a property of this class.
046     *
047     * <p>
048     * This implementation and its corresponding interface {@link UserGroupRoleModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link UserGroupRoleImpl}.
049     * </p>
050     *
051     * @author Brian Wing Shun Chan
052     * @see UserGroupRoleImpl
053     * @see UserGroupRole
054     * @see UserGroupRoleModel
055     * @generated
056     */
057    @JSON(strict = true)
058    @ProviderType
059    public class UserGroupRoleModelImpl extends BaseModelImpl<UserGroupRole>
060            implements UserGroupRoleModel {
061            /*
062             * NOTE FOR DEVELOPERS:
063             *
064             * Never modify or reference this class directly. All methods that expect a user group role model instance should use the {@link UserGroupRole} interface instead.
065             */
066            public static final String TABLE_NAME = "UserGroupRole";
067            public static final Object[][] TABLE_COLUMNS = {
068                            { "mvccVersion", Types.BIGINT },
069                            { "userId", Types.BIGINT },
070                            { "groupId", Types.BIGINT },
071                            { "roleId", Types.BIGINT },
072                            { "companyId", Types.BIGINT }
073                    };
074            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
075    
076            static {
077                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
078                    TABLE_COLUMNS_MAP.put("userId", Types.BIGINT);
079                    TABLE_COLUMNS_MAP.put("groupId", Types.BIGINT);
080                    TABLE_COLUMNS_MAP.put("roleId", Types.BIGINT);
081                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
082            }
083    
084            public static final String TABLE_SQL_CREATE = "create table UserGroupRole (mvccVersion LONG default 0 not null,userId LONG not null,groupId LONG not null,roleId LONG not null,companyId LONG,primary key (userId, groupId, roleId))";
085            public static final String TABLE_SQL_DROP = "drop table UserGroupRole";
086            public static final String ORDER_BY_JPQL = " ORDER BY userGroupRole.id.userId ASC, userGroupRole.id.groupId ASC, userGroupRole.id.roleId ASC";
087            public static final String ORDER_BY_SQL = " ORDER BY UserGroupRole.userId ASC, UserGroupRole.groupId ASC, UserGroupRole.roleId ASC";
088            public static final String DATA_SOURCE = "liferayDataSource";
089            public static final String SESSION_FACTORY = "liferaySessionFactory";
090            public static final String TX_MANAGER = "liferayTransactionManager";
091            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
092                                    "value.object.entity.cache.enabled.com.liferay.portal.kernel.model.UserGroupRole"),
093                            true);
094            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
095                                    "value.object.finder.cache.enabled.com.liferay.portal.kernel.model.UserGroupRole"),
096                            true);
097            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
098                                    "value.object.column.bitmask.enabled.com.liferay.portal.kernel.model.UserGroupRole"),
099                            true);
100            public static final long GROUPID_COLUMN_BITMASK = 1L;
101            public static final long ROLEID_COLUMN_BITMASK = 2L;
102            public static final long USERID_COLUMN_BITMASK = 4L;
103    
104            /**
105             * Converts the soap model instance into a normal model instance.
106             *
107             * @param soapModel the soap model instance to convert
108             * @return the normal model instance
109             */
110            public static UserGroupRole toModel(UserGroupRoleSoap soapModel) {
111                    if (soapModel == null) {
112                            return null;
113                    }
114    
115                    UserGroupRole model = new UserGroupRoleImpl();
116    
117                    model.setMvccVersion(soapModel.getMvccVersion());
118                    model.setUserId(soapModel.getUserId());
119                    model.setGroupId(soapModel.getGroupId());
120                    model.setRoleId(soapModel.getRoleId());
121                    model.setCompanyId(soapModel.getCompanyId());
122    
123                    return model;
124            }
125    
126            /**
127             * Converts the soap model instances into normal model instances.
128             *
129             * @param soapModels the soap model instances to convert
130             * @return the normal model instances
131             */
132            public static List<UserGroupRole> toModels(UserGroupRoleSoap[] soapModels) {
133                    if (soapModels == null) {
134                            return null;
135                    }
136    
137                    List<UserGroupRole> models = new ArrayList<UserGroupRole>(soapModels.length);
138    
139                    for (UserGroupRoleSoap soapModel : soapModels) {
140                            models.add(toModel(soapModel));
141                    }
142    
143                    return models;
144            }
145    
146            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
147                                    "lock.expiration.time.com.liferay.portal.kernel.model.UserGroupRole"));
148    
149            public UserGroupRoleModelImpl() {
150            }
151    
152            @Override
153            public UserGroupRolePK getPrimaryKey() {
154                    return new UserGroupRolePK(_userId, _groupId, _roleId);
155            }
156    
157            @Override
158            public void setPrimaryKey(UserGroupRolePK primaryKey) {
159                    setUserId(primaryKey.userId);
160                    setGroupId(primaryKey.groupId);
161                    setRoleId(primaryKey.roleId);
162            }
163    
164            @Override
165            public Serializable getPrimaryKeyObj() {
166                    return new UserGroupRolePK(_userId, _groupId, _roleId);
167            }
168    
169            @Override
170            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
171                    setPrimaryKey((UserGroupRolePK)primaryKeyObj);
172            }
173    
174            @Override
175            public Class<?> getModelClass() {
176                    return UserGroupRole.class;
177            }
178    
179            @Override
180            public String getModelClassName() {
181                    return UserGroupRole.class.getName();
182            }
183    
184            @Override
185            public Map<String, Object> getModelAttributes() {
186                    Map<String, Object> attributes = new HashMap<String, Object>();
187    
188                    attributes.put("mvccVersion", getMvccVersion());
189                    attributes.put("userId", getUserId());
190                    attributes.put("groupId", getGroupId());
191                    attributes.put("roleId", getRoleId());
192                    attributes.put("companyId", getCompanyId());
193    
194                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
195                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
196    
197                    return attributes;
198            }
199    
200            @Override
201            public void setModelAttributes(Map<String, Object> attributes) {
202                    Long mvccVersion = (Long)attributes.get("mvccVersion");
203    
204                    if (mvccVersion != null) {
205                            setMvccVersion(mvccVersion);
206                    }
207    
208                    Long userId = (Long)attributes.get("userId");
209    
210                    if (userId != null) {
211                            setUserId(userId);
212                    }
213    
214                    Long groupId = (Long)attributes.get("groupId");
215    
216                    if (groupId != null) {
217                            setGroupId(groupId);
218                    }
219    
220                    Long roleId = (Long)attributes.get("roleId");
221    
222                    if (roleId != null) {
223                            setRoleId(roleId);
224                    }
225    
226                    Long companyId = (Long)attributes.get("companyId");
227    
228                    if (companyId != null) {
229                            setCompanyId(companyId);
230                    }
231            }
232    
233            @JSON
234            @Override
235            public long getMvccVersion() {
236                    return _mvccVersion;
237            }
238    
239            @Override
240            public void setMvccVersion(long mvccVersion) {
241                    _mvccVersion = mvccVersion;
242            }
243    
244            @JSON
245            @Override
246            public long getUserId() {
247                    return _userId;
248            }
249    
250            @Override
251            public void setUserId(long userId) {
252                    _columnBitmask |= USERID_COLUMN_BITMASK;
253    
254                    if (!_setOriginalUserId) {
255                            _setOriginalUserId = true;
256    
257                            _originalUserId = _userId;
258                    }
259    
260                    _userId = userId;
261            }
262    
263            @Override
264            public String getUserUuid() {
265                    try {
266                            User user = UserLocalServiceUtil.getUserById(getUserId());
267    
268                            return user.getUuid();
269                    }
270                    catch (PortalException pe) {
271                            return StringPool.BLANK;
272                    }
273            }
274    
275            @Override
276            public void setUserUuid(String userUuid) {
277            }
278    
279            public long getOriginalUserId() {
280                    return _originalUserId;
281            }
282    
283            @JSON
284            @Override
285            public long getGroupId() {
286                    return _groupId;
287            }
288    
289            @Override
290            public void setGroupId(long groupId) {
291                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
292    
293                    if (!_setOriginalGroupId) {
294                            _setOriginalGroupId = true;
295    
296                            _originalGroupId = _groupId;
297                    }
298    
299                    _groupId = groupId;
300            }
301    
302            public long getOriginalGroupId() {
303                    return _originalGroupId;
304            }
305    
306            @JSON
307            @Override
308            public long getRoleId() {
309                    return _roleId;
310            }
311    
312            @Override
313            public void setRoleId(long roleId) {
314                    _columnBitmask |= ROLEID_COLUMN_BITMASK;
315    
316                    if (!_setOriginalRoleId) {
317                            _setOriginalRoleId = true;
318    
319                            _originalRoleId = _roleId;
320                    }
321    
322                    _roleId = roleId;
323            }
324    
325            public long getOriginalRoleId() {
326                    return _originalRoleId;
327            }
328    
329            @JSON
330            @Override
331            public long getCompanyId() {
332                    return _companyId;
333            }
334    
335            @Override
336            public void setCompanyId(long companyId) {
337                    _companyId = companyId;
338            }
339    
340            public long getColumnBitmask() {
341                    return _columnBitmask;
342            }
343    
344            @Override
345            public UserGroupRole toEscapedModel() {
346                    if (_escapedModel == null) {
347                            _escapedModel = (UserGroupRole)ProxyUtil.newProxyInstance(_classLoader,
348                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
349                    }
350    
351                    return _escapedModel;
352            }
353    
354            @Override
355            public Object clone() {
356                    UserGroupRoleImpl userGroupRoleImpl = new UserGroupRoleImpl();
357    
358                    userGroupRoleImpl.setMvccVersion(getMvccVersion());
359                    userGroupRoleImpl.setUserId(getUserId());
360                    userGroupRoleImpl.setGroupId(getGroupId());
361                    userGroupRoleImpl.setRoleId(getRoleId());
362                    userGroupRoleImpl.setCompanyId(getCompanyId());
363    
364                    userGroupRoleImpl.resetOriginalValues();
365    
366                    return userGroupRoleImpl;
367            }
368    
369            @Override
370            public int compareTo(UserGroupRole userGroupRole) {
371                    UserGroupRolePK primaryKey = userGroupRole.getPrimaryKey();
372    
373                    return getPrimaryKey().compareTo(primaryKey);
374            }
375    
376            @Override
377            public boolean equals(Object obj) {
378                    if (this == obj) {
379                            return true;
380                    }
381    
382                    if (!(obj instanceof UserGroupRole)) {
383                            return false;
384                    }
385    
386                    UserGroupRole userGroupRole = (UserGroupRole)obj;
387    
388                    UserGroupRolePK primaryKey = userGroupRole.getPrimaryKey();
389    
390                    if (getPrimaryKey().equals(primaryKey)) {
391                            return true;
392                    }
393                    else {
394                            return false;
395                    }
396            }
397    
398            @Override
399            public int hashCode() {
400                    return getPrimaryKey().hashCode();
401            }
402    
403            @Override
404            public boolean isEntityCacheEnabled() {
405                    return ENTITY_CACHE_ENABLED;
406            }
407    
408            @Override
409            public boolean isFinderCacheEnabled() {
410                    return FINDER_CACHE_ENABLED;
411            }
412    
413            @Override
414            public void resetOriginalValues() {
415                    UserGroupRoleModelImpl userGroupRoleModelImpl = this;
416    
417                    userGroupRoleModelImpl._originalUserId = userGroupRoleModelImpl._userId;
418    
419                    userGroupRoleModelImpl._setOriginalUserId = false;
420    
421                    userGroupRoleModelImpl._originalGroupId = userGroupRoleModelImpl._groupId;
422    
423                    userGroupRoleModelImpl._setOriginalGroupId = false;
424    
425                    userGroupRoleModelImpl._originalRoleId = userGroupRoleModelImpl._roleId;
426    
427                    userGroupRoleModelImpl._setOriginalRoleId = false;
428    
429                    userGroupRoleModelImpl._columnBitmask = 0;
430            }
431    
432            @Override
433            public CacheModel<UserGroupRole> toCacheModel() {
434                    UserGroupRoleCacheModel userGroupRoleCacheModel = new UserGroupRoleCacheModel();
435    
436                    userGroupRoleCacheModel.userGroupRolePK = getPrimaryKey();
437    
438                    userGroupRoleCacheModel.mvccVersion = getMvccVersion();
439    
440                    userGroupRoleCacheModel.userId = getUserId();
441    
442                    userGroupRoleCacheModel.groupId = getGroupId();
443    
444                    userGroupRoleCacheModel.roleId = getRoleId();
445    
446                    userGroupRoleCacheModel.companyId = getCompanyId();
447    
448                    return userGroupRoleCacheModel;
449            }
450    
451            @Override
452            public String toString() {
453                    StringBundler sb = new StringBundler(11);
454    
455                    sb.append("{mvccVersion=");
456                    sb.append(getMvccVersion());
457                    sb.append(", userId=");
458                    sb.append(getUserId());
459                    sb.append(", groupId=");
460                    sb.append(getGroupId());
461                    sb.append(", roleId=");
462                    sb.append(getRoleId());
463                    sb.append(", companyId=");
464                    sb.append(getCompanyId());
465                    sb.append("}");
466    
467                    return sb.toString();
468            }
469    
470            @Override
471            public String toXmlString() {
472                    StringBundler sb = new StringBundler(19);
473    
474                    sb.append("<model><model-name>");
475                    sb.append("com.liferay.portal.kernel.model.UserGroupRole");
476                    sb.append("</model-name>");
477    
478                    sb.append(
479                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
480                    sb.append(getMvccVersion());
481                    sb.append("]]></column-value></column>");
482                    sb.append(
483                            "<column><column-name>userId</column-name><column-value><![CDATA[");
484                    sb.append(getUserId());
485                    sb.append("]]></column-value></column>");
486                    sb.append(
487                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
488                    sb.append(getGroupId());
489                    sb.append("]]></column-value></column>");
490                    sb.append(
491                            "<column><column-name>roleId</column-name><column-value><![CDATA[");
492                    sb.append(getRoleId());
493                    sb.append("]]></column-value></column>");
494                    sb.append(
495                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
496                    sb.append(getCompanyId());
497                    sb.append("]]></column-value></column>");
498    
499                    sb.append("</model>");
500    
501                    return sb.toString();
502            }
503    
504            private static final ClassLoader _classLoader = UserGroupRole.class.getClassLoader();
505            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
506                            UserGroupRole.class
507                    };
508            private long _mvccVersion;
509            private long _userId;
510            private long _originalUserId;
511            private boolean _setOriginalUserId;
512            private long _groupId;
513            private long _originalGroupId;
514            private boolean _setOriginalGroupId;
515            private long _roleId;
516            private long _originalRoleId;
517            private boolean _setOriginalRoleId;
518            private long _companyId;
519            private long _columnBitmask;
520            private UserGroupRole _escapedModel;
521    }