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