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