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