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