001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portal.model.impl;
016    
017    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.json.JSON;
019    import com.liferay.portal.kernel.util.GetterUtil;
020    import com.liferay.portal.kernel.util.ProxyUtil;
021    import com.liferay.portal.kernel.util.StringBundler;
022    import com.liferay.portal.kernel.util.StringPool;
023    import com.liferay.portal.model.CacheModel;
024    import com.liferay.portal.model.UserGroup;
025    import com.liferay.portal.model.UserGroupModel;
026    import com.liferay.portal.model.UserGroupSoap;
027    import com.liferay.portal.service.ServiceContext;
028    
029    import com.liferay.portlet.expando.model.ExpandoBridge;
030    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
031    
032    import java.io.Serializable;
033    
034    import java.sql.Types;
035    
036    import java.util.ArrayList;
037    import java.util.List;
038    
039    /**
040     * The base model implementation for the UserGroup service. Represents a row in the "UserGroup" database table, with each column mapped to a property of this class.
041     *
042     * <p>
043     * This implementation and its corresponding interface {@link com.liferay.portal.model.UserGroupModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link UserGroupImpl}.
044     * </p>
045     *
046     * @author Brian Wing Shun Chan
047     * @see UserGroupImpl
048     * @see com.liferay.portal.model.UserGroup
049     * @see com.liferay.portal.model.UserGroupModel
050     * @generated
051     */
052    @JSON(strict = true)
053    public class UserGroupModelImpl extends BaseModelImpl<UserGroup>
054            implements UserGroupModel {
055            /*
056             * NOTE FOR DEVELOPERS:
057             *
058             * Never modify or reference this class directly. All methods that expect a user group model instance should use the {@link com.liferay.portal.model.UserGroup} interface instead.
059             */
060            public static final String TABLE_NAME = "UserGroup";
061            public static final Object[][] TABLE_COLUMNS = {
062                            { "userGroupId", Types.BIGINT },
063                            { "companyId", Types.BIGINT },
064                            { "parentUserGroupId", Types.BIGINT },
065                            { "name", Types.VARCHAR },
066                            { "description", Types.VARCHAR },
067                            { "publicLayoutSetPrototypeId", Types.BIGINT },
068                            { "privateLayoutSetPrototypeId", Types.BIGINT },
069                            { "addedByLDAPImport", Types.BOOLEAN }
070                    };
071            public static final String TABLE_SQL_CREATE = "create table UserGroup (userGroupId LONG not null primary key,companyId LONG,parentUserGroupId LONG,name VARCHAR(75) null,description STRING null,publicLayoutSetPrototypeId LONG,privateLayoutSetPrototypeId LONG,addedByLDAPImport BOOLEAN)";
072            public static final String TABLE_SQL_DROP = "drop table UserGroup";
073            public static final String ORDER_BY_JPQL = " ORDER BY userGroup.name ASC";
074            public static final String ORDER_BY_SQL = " ORDER BY UserGroup.name ASC";
075            public static final String DATA_SOURCE = "liferayDataSource";
076            public static final String SESSION_FACTORY = "liferaySessionFactory";
077            public static final String TX_MANAGER = "liferayTransactionManager";
078            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
079                                    "value.object.entity.cache.enabled.com.liferay.portal.model.UserGroup"),
080                            true);
081            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
082                                    "value.object.finder.cache.enabled.com.liferay.portal.model.UserGroup"),
083                            true);
084            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
085                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.UserGroup"),
086                            true);
087            public static long COMPANYID_COLUMN_BITMASK = 1L;
088            public static long NAME_COLUMN_BITMASK = 2L;
089            public static long PARENTUSERGROUPID_COLUMN_BITMASK = 4L;
090    
091            /**
092             * Converts the soap model instance into a normal model instance.
093             *
094             * @param soapModel the soap model instance to convert
095             * @return the normal model instance
096             */
097            public static UserGroup toModel(UserGroupSoap soapModel) {
098                    UserGroup model = new UserGroupImpl();
099    
100                    model.setUserGroupId(soapModel.getUserGroupId());
101                    model.setCompanyId(soapModel.getCompanyId());
102                    model.setParentUserGroupId(soapModel.getParentUserGroupId());
103                    model.setName(soapModel.getName());
104                    model.setDescription(soapModel.getDescription());
105                    model.setPublicLayoutSetPrototypeId(soapModel.getPublicLayoutSetPrototypeId());
106                    model.setPrivateLayoutSetPrototypeId(soapModel.getPrivateLayoutSetPrototypeId());
107                    model.setAddedByLDAPImport(soapModel.getAddedByLDAPImport());
108    
109                    return model;
110            }
111    
112            /**
113             * Converts the soap model instances into normal model instances.
114             *
115             * @param soapModels the soap model instances to convert
116             * @return the normal model instances
117             */
118            public static List<UserGroup> toModels(UserGroupSoap[] soapModels) {
119                    List<UserGroup> models = new ArrayList<UserGroup>(soapModels.length);
120    
121                    for (UserGroupSoap soapModel : soapModels) {
122                            models.add(toModel(soapModel));
123                    }
124    
125                    return models;
126            }
127    
128            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_NAME = "Groups_UserGroups";
129            public static final Object[][] MAPPING_TABLE_GROUPS_USERGROUPS_COLUMNS = {
130                            { "groupId", Types.BIGINT },
131                            { "userGroupId", Types.BIGINT }
132                    };
133            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_SQL_CREATE = "create table Groups_UserGroups (groupId LONG not null,userGroupId LONG not null,primary key (groupId, userGroupId))";
134            public static final boolean FINDER_CACHE_ENABLED_GROUPS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
135                                    "value.object.finder.cache.enabled.Groups_UserGroups"), true);
136            public static final String MAPPING_TABLE_USERGROUPS_TEAMS_NAME = "UserGroups_Teams";
137            public static final Object[][] MAPPING_TABLE_USERGROUPS_TEAMS_COLUMNS = {
138                            { "userGroupId", Types.BIGINT },
139                            { "teamId", Types.BIGINT }
140                    };
141            public static final String MAPPING_TABLE_USERGROUPS_TEAMS_SQL_CREATE = "create table UserGroups_Teams (userGroupId LONG not null,teamId LONG not null,primary key (userGroupId, teamId))";
142            public static final boolean FINDER_CACHE_ENABLED_USERGROUPS_TEAMS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
143                                    "value.object.finder.cache.enabled.UserGroups_Teams"), true);
144            public static final String MAPPING_TABLE_USERS_USERGROUPS_NAME = "Users_UserGroups";
145            public static final Object[][] MAPPING_TABLE_USERS_USERGROUPS_COLUMNS = {
146                            { "userGroupId", Types.BIGINT },
147                            { "userId", Types.BIGINT }
148                    };
149            public static final String MAPPING_TABLE_USERS_USERGROUPS_SQL_CREATE = "create table Users_UserGroups (userGroupId LONG not null,userId LONG not null,primary key (userGroupId, userId))";
150            public static final boolean FINDER_CACHE_ENABLED_USERS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
151                                    "value.object.finder.cache.enabled.Users_UserGroups"), true);
152            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
153                                    "lock.expiration.time.com.liferay.portal.model.UserGroup"));
154    
155            public UserGroupModelImpl() {
156            }
157    
158            public long getPrimaryKey() {
159                    return _userGroupId;
160            }
161    
162            public void setPrimaryKey(long primaryKey) {
163                    setUserGroupId(primaryKey);
164            }
165    
166            public Serializable getPrimaryKeyObj() {
167                    return new Long(_userGroupId);
168            }
169    
170            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
171                    setPrimaryKey(((Long)primaryKeyObj).longValue());
172            }
173    
174            public Class<?> getModelClass() {
175                    return UserGroup.class;
176            }
177    
178            public String getModelClassName() {
179                    return UserGroup.class.getName();
180            }
181    
182            @JSON
183            public long getUserGroupId() {
184                    return _userGroupId;
185            }
186    
187            public void setUserGroupId(long userGroupId) {
188                    _userGroupId = userGroupId;
189            }
190    
191            @JSON
192            public long getCompanyId() {
193                    return _companyId;
194            }
195    
196            public void setCompanyId(long companyId) {
197                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
198    
199                    if (!_setOriginalCompanyId) {
200                            _setOriginalCompanyId = true;
201    
202                            _originalCompanyId = _companyId;
203                    }
204    
205                    _companyId = companyId;
206            }
207    
208            public long getOriginalCompanyId() {
209                    return _originalCompanyId;
210            }
211    
212            @JSON
213            public long getParentUserGroupId() {
214                    return _parentUserGroupId;
215            }
216    
217            public void setParentUserGroupId(long parentUserGroupId) {
218                    _columnBitmask |= PARENTUSERGROUPID_COLUMN_BITMASK;
219    
220                    if (!_setOriginalParentUserGroupId) {
221                            _setOriginalParentUserGroupId = true;
222    
223                            _originalParentUserGroupId = _parentUserGroupId;
224                    }
225    
226                    _parentUserGroupId = parentUserGroupId;
227            }
228    
229            public long getOriginalParentUserGroupId() {
230                    return _originalParentUserGroupId;
231            }
232    
233            @JSON
234            public String getName() {
235                    if (_name == null) {
236                            return StringPool.BLANK;
237                    }
238                    else {
239                            return _name;
240                    }
241            }
242    
243            public void setName(String name) {
244                    _columnBitmask |= NAME_COLUMN_BITMASK;
245    
246                    if (_originalName == null) {
247                            _originalName = _name;
248                    }
249    
250                    _name = name;
251            }
252    
253            public String getOriginalName() {
254                    return GetterUtil.getString(_originalName);
255            }
256    
257            @JSON
258            public String getDescription() {
259                    if (_description == null) {
260                            return StringPool.BLANK;
261                    }
262                    else {
263                            return _description;
264                    }
265            }
266    
267            public void setDescription(String description) {
268                    _description = description;
269            }
270    
271            @JSON
272            public long getPublicLayoutSetPrototypeId() {
273                    return _publicLayoutSetPrototypeId;
274            }
275    
276            public void setPublicLayoutSetPrototypeId(long publicLayoutSetPrototypeId) {
277                    _publicLayoutSetPrototypeId = publicLayoutSetPrototypeId;
278            }
279    
280            @JSON
281            public long getPrivateLayoutSetPrototypeId() {
282                    return _privateLayoutSetPrototypeId;
283            }
284    
285            public void setPrivateLayoutSetPrototypeId(long privateLayoutSetPrototypeId) {
286                    _privateLayoutSetPrototypeId = privateLayoutSetPrototypeId;
287            }
288    
289            @JSON
290            public boolean getAddedByLDAPImport() {
291                    return _addedByLDAPImport;
292            }
293    
294            public boolean isAddedByLDAPImport() {
295                    return _addedByLDAPImport;
296            }
297    
298            public void setAddedByLDAPImport(boolean addedByLDAPImport) {
299                    _addedByLDAPImport = addedByLDAPImport;
300            }
301    
302            public long getColumnBitmask() {
303                    return _columnBitmask;
304            }
305    
306            @Override
307            public UserGroup toEscapedModel() {
308                    if (_escapedModelProxy == null) {
309                            _escapedModelProxy = (UserGroup)ProxyUtil.newProxyInstance(_classLoader,
310                                            _escapedModelProxyInterfaces,
311                                            new AutoEscapeBeanHandler(this));
312                    }
313    
314                    return _escapedModelProxy;
315            }
316    
317            @Override
318            public ExpandoBridge getExpandoBridge() {
319                    if (_expandoBridge == null) {
320                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
321                                            UserGroup.class.getName(), getPrimaryKey());
322                    }
323    
324                    return _expandoBridge;
325            }
326    
327            @Override
328            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
329                    getExpandoBridge().setAttributes(serviceContext);
330            }
331    
332            @Override
333            public Object clone() {
334                    UserGroupImpl userGroupImpl = new UserGroupImpl();
335    
336                    userGroupImpl.setUserGroupId(getUserGroupId());
337                    userGroupImpl.setCompanyId(getCompanyId());
338                    userGroupImpl.setParentUserGroupId(getParentUserGroupId());
339                    userGroupImpl.setName(getName());
340                    userGroupImpl.setDescription(getDescription());
341                    userGroupImpl.setPublicLayoutSetPrototypeId(getPublicLayoutSetPrototypeId());
342                    userGroupImpl.setPrivateLayoutSetPrototypeId(getPrivateLayoutSetPrototypeId());
343                    userGroupImpl.setAddedByLDAPImport(getAddedByLDAPImport());
344    
345                    userGroupImpl.resetOriginalValues();
346    
347                    return userGroupImpl;
348            }
349    
350            public int compareTo(UserGroup userGroup) {
351                    int value = 0;
352    
353                    value = getName().compareTo(userGroup.getName());
354    
355                    if (value != 0) {
356                            return value;
357                    }
358    
359                    return 0;
360            }
361    
362            @Override
363            public boolean equals(Object obj) {
364                    if (obj == null) {
365                            return false;
366                    }
367    
368                    UserGroup userGroup = null;
369    
370                    try {
371                            userGroup = (UserGroup)obj;
372                    }
373                    catch (ClassCastException cce) {
374                            return false;
375                    }
376    
377                    long primaryKey = userGroup.getPrimaryKey();
378    
379                    if (getPrimaryKey() == primaryKey) {
380                            return true;
381                    }
382                    else {
383                            return false;
384                    }
385            }
386    
387            @Override
388            public int hashCode() {
389                    return (int)getPrimaryKey();
390            }
391    
392            @Override
393            public void resetOriginalValues() {
394                    UserGroupModelImpl userGroupModelImpl = this;
395    
396                    userGroupModelImpl._originalCompanyId = userGroupModelImpl._companyId;
397    
398                    userGroupModelImpl._setOriginalCompanyId = false;
399    
400                    userGroupModelImpl._originalParentUserGroupId = userGroupModelImpl._parentUserGroupId;
401    
402                    userGroupModelImpl._setOriginalParentUserGroupId = false;
403    
404                    userGroupModelImpl._originalName = userGroupModelImpl._name;
405    
406                    userGroupModelImpl._columnBitmask = 0;
407            }
408    
409            @Override
410            public CacheModel<UserGroup> toCacheModel() {
411                    UserGroupCacheModel userGroupCacheModel = new UserGroupCacheModel();
412    
413                    userGroupCacheModel.userGroupId = getUserGroupId();
414    
415                    userGroupCacheModel.companyId = getCompanyId();
416    
417                    userGroupCacheModel.parentUserGroupId = getParentUserGroupId();
418    
419                    userGroupCacheModel.name = getName();
420    
421                    String name = userGroupCacheModel.name;
422    
423                    if ((name != null) && (name.length() == 0)) {
424                            userGroupCacheModel.name = null;
425                    }
426    
427                    userGroupCacheModel.description = getDescription();
428    
429                    String description = userGroupCacheModel.description;
430    
431                    if ((description != null) && (description.length() == 0)) {
432                            userGroupCacheModel.description = null;
433                    }
434    
435                    userGroupCacheModel.publicLayoutSetPrototypeId = getPublicLayoutSetPrototypeId();
436    
437                    userGroupCacheModel.privateLayoutSetPrototypeId = getPrivateLayoutSetPrototypeId();
438    
439                    userGroupCacheModel.addedByLDAPImport = getAddedByLDAPImport();
440    
441                    return userGroupCacheModel;
442            }
443    
444            @Override
445            public String toString() {
446                    StringBundler sb = new StringBundler(17);
447    
448                    sb.append("{userGroupId=");
449                    sb.append(getUserGroupId());
450                    sb.append(", companyId=");
451                    sb.append(getCompanyId());
452                    sb.append(", parentUserGroupId=");
453                    sb.append(getParentUserGroupId());
454                    sb.append(", name=");
455                    sb.append(getName());
456                    sb.append(", description=");
457                    sb.append(getDescription());
458                    sb.append(", publicLayoutSetPrototypeId=");
459                    sb.append(getPublicLayoutSetPrototypeId());
460                    sb.append(", privateLayoutSetPrototypeId=");
461                    sb.append(getPrivateLayoutSetPrototypeId());
462                    sb.append(", addedByLDAPImport=");
463                    sb.append(getAddedByLDAPImport());
464                    sb.append("}");
465    
466                    return sb.toString();
467            }
468    
469            public String toXmlString() {
470                    StringBundler sb = new StringBundler(28);
471    
472                    sb.append("<model><model-name>");
473                    sb.append("com.liferay.portal.model.UserGroup");
474                    sb.append("</model-name>");
475    
476                    sb.append(
477                            "<column><column-name>userGroupId</column-name><column-value><![CDATA[");
478                    sb.append(getUserGroupId());
479                    sb.append("]]></column-value></column>");
480                    sb.append(
481                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
482                    sb.append(getCompanyId());
483                    sb.append("]]></column-value></column>");
484                    sb.append(
485                            "<column><column-name>parentUserGroupId</column-name><column-value><![CDATA[");
486                    sb.append(getParentUserGroupId());
487                    sb.append("]]></column-value></column>");
488                    sb.append(
489                            "<column><column-name>name</column-name><column-value><![CDATA[");
490                    sb.append(getName());
491                    sb.append("]]></column-value></column>");
492                    sb.append(
493                            "<column><column-name>description</column-name><column-value><![CDATA[");
494                    sb.append(getDescription());
495                    sb.append("]]></column-value></column>");
496                    sb.append(
497                            "<column><column-name>publicLayoutSetPrototypeId</column-name><column-value><![CDATA[");
498                    sb.append(getPublicLayoutSetPrototypeId());
499                    sb.append("]]></column-value></column>");
500                    sb.append(
501                            "<column><column-name>privateLayoutSetPrototypeId</column-name><column-value><![CDATA[");
502                    sb.append(getPrivateLayoutSetPrototypeId());
503                    sb.append("]]></column-value></column>");
504                    sb.append(
505                            "<column><column-name>addedByLDAPImport</column-name><column-value><![CDATA[");
506                    sb.append(getAddedByLDAPImport());
507                    sb.append("]]></column-value></column>");
508    
509                    sb.append("</model>");
510    
511                    return sb.toString();
512            }
513    
514            private static ClassLoader _classLoader = UserGroup.class.getClassLoader();
515            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
516                            UserGroup.class
517                    };
518            private long _userGroupId;
519            private long _companyId;
520            private long _originalCompanyId;
521            private boolean _setOriginalCompanyId;
522            private long _parentUserGroupId;
523            private long _originalParentUserGroupId;
524            private boolean _setOriginalParentUserGroupId;
525            private String _name;
526            private String _originalName;
527            private String _description;
528            private long _publicLayoutSetPrototypeId;
529            private long _privateLayoutSetPrototypeId;
530            private boolean _addedByLDAPImport;
531            private transient ExpandoBridge _expandoBridge;
532            private long _columnBitmask;
533            private UserGroup _escapedModelProxy;
534    }