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