001    /**
002     * Copyright (c) 2000-2012 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 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                            { "addedByLDAPImport", Types.BOOLEAN }
068                    };
069            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,addedByLDAPImport BOOLEAN)";
070            public static final String TABLE_SQL_DROP = "drop table UserGroup";
071            public static final String ORDER_BY_JPQL = " ORDER BY userGroup.name ASC";
072            public static final String ORDER_BY_SQL = " ORDER BY UserGroup.name ASC";
073            public static final String DATA_SOURCE = "liferayDataSource";
074            public static final String SESSION_FACTORY = "liferaySessionFactory";
075            public static final String TX_MANAGER = "liferayTransactionManager";
076            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
077                                    "value.object.entity.cache.enabled.com.liferay.portal.model.UserGroup"),
078                            true);
079            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
080                                    "value.object.finder.cache.enabled.com.liferay.portal.model.UserGroup"),
081                            true);
082            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
083                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.UserGroup"),
084                            true);
085            public static long COMPANYID_COLUMN_BITMASK = 1L;
086            public static long NAME_COLUMN_BITMASK = 2L;
087            public static long PARENTUSERGROUPID_COLUMN_BITMASK = 4L;
088    
089            /**
090             * Converts the soap model instance into a normal model instance.
091             *
092             * @param soapModel the soap model instance to convert
093             * @return the normal model instance
094             */
095            public static UserGroup toModel(UserGroupSoap soapModel) {
096                    UserGroup model = new UserGroupImpl();
097    
098                    model.setUserGroupId(soapModel.getUserGroupId());
099                    model.setCompanyId(soapModel.getCompanyId());
100                    model.setParentUserGroupId(soapModel.getParentUserGroupId());
101                    model.setName(soapModel.getName());
102                    model.setDescription(soapModel.getDescription());
103                    model.setAddedByLDAPImport(soapModel.getAddedByLDAPImport());
104    
105                    return model;
106            }
107    
108            /**
109             * Converts the soap model instances into normal model instances.
110             *
111             * @param soapModels the soap model instances to convert
112             * @return the normal model instances
113             */
114            public static List<UserGroup> toModels(UserGroupSoap[] soapModels) {
115                    List<UserGroup> models = new ArrayList<UserGroup>(soapModels.length);
116    
117                    for (UserGroupSoap soapModel : soapModels) {
118                            models.add(toModel(soapModel));
119                    }
120    
121                    return models;
122            }
123    
124            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_NAME = "Groups_UserGroups";
125            public static final Object[][] MAPPING_TABLE_GROUPS_USERGROUPS_COLUMNS = {
126                            { "groupId", Types.BIGINT },
127                            { "userGroupId", Types.BIGINT }
128                    };
129            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))";
130            public static final boolean FINDER_CACHE_ENABLED_GROUPS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
131                                    "value.object.finder.cache.enabled.Groups_UserGroups"), true);
132            public static final String MAPPING_TABLE_USERGROUPS_TEAMS_NAME = "UserGroups_Teams";
133            public static final Object[][] MAPPING_TABLE_USERGROUPS_TEAMS_COLUMNS = {
134                            { "userGroupId", Types.BIGINT },
135                            { "teamId", Types.BIGINT }
136                    };
137            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))";
138            public static final boolean FINDER_CACHE_ENABLED_USERGROUPS_TEAMS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
139                                    "value.object.finder.cache.enabled.UserGroups_Teams"), true);
140            public static final String MAPPING_TABLE_USERS_USERGROUPS_NAME = "Users_UserGroups";
141            public static final Object[][] MAPPING_TABLE_USERS_USERGROUPS_COLUMNS = {
142                            { "userGroupId", Types.BIGINT },
143                            { "userId", Types.BIGINT }
144                    };
145            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))";
146            public static final boolean FINDER_CACHE_ENABLED_USERS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
147                                    "value.object.finder.cache.enabled.Users_UserGroups"), true);
148            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
149                                    "lock.expiration.time.com.liferay.portal.model.UserGroup"));
150    
151            public UserGroupModelImpl() {
152            }
153    
154            public long getPrimaryKey() {
155                    return _userGroupId;
156            }
157    
158            public void setPrimaryKey(long primaryKey) {
159                    setUserGroupId(primaryKey);
160            }
161    
162            public Serializable getPrimaryKeyObj() {
163                    return new Long(_userGroupId);
164            }
165    
166            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
167                    setPrimaryKey(((Long)primaryKeyObj).longValue());
168            }
169    
170            public Class<?> getModelClass() {
171                    return UserGroup.class;
172            }
173    
174            public String getModelClassName() {
175                    return UserGroup.class.getName();
176            }
177    
178            @JSON
179            public long getUserGroupId() {
180                    return _userGroupId;
181            }
182    
183            public void setUserGroupId(long userGroupId) {
184                    _userGroupId = userGroupId;
185            }
186    
187            @JSON
188            public long getCompanyId() {
189                    return _companyId;
190            }
191    
192            public void setCompanyId(long companyId) {
193                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
194    
195                    if (!_setOriginalCompanyId) {
196                            _setOriginalCompanyId = true;
197    
198                            _originalCompanyId = _companyId;
199                    }
200    
201                    _companyId = companyId;
202            }
203    
204            public long getOriginalCompanyId() {
205                    return _originalCompanyId;
206            }
207    
208            @JSON
209            public long getParentUserGroupId() {
210                    return _parentUserGroupId;
211            }
212    
213            public void setParentUserGroupId(long parentUserGroupId) {
214                    _columnBitmask |= PARENTUSERGROUPID_COLUMN_BITMASK;
215    
216                    if (!_setOriginalParentUserGroupId) {
217                            _setOriginalParentUserGroupId = true;
218    
219                            _originalParentUserGroupId = _parentUserGroupId;
220                    }
221    
222                    _parentUserGroupId = parentUserGroupId;
223            }
224    
225            public long getOriginalParentUserGroupId() {
226                    return _originalParentUserGroupId;
227            }
228    
229            @JSON
230            public String getName() {
231                    if (_name == null) {
232                            return StringPool.BLANK;
233                    }
234                    else {
235                            return _name;
236                    }
237            }
238    
239            public void setName(String name) {
240                    _columnBitmask = -1L;
241    
242                    if (_originalName == null) {
243                            _originalName = _name;
244                    }
245    
246                    _name = name;
247            }
248    
249            public String getOriginalName() {
250                    return GetterUtil.getString(_originalName);
251            }
252    
253            @JSON
254            public String getDescription() {
255                    if (_description == null) {
256                            return StringPool.BLANK;
257                    }
258                    else {
259                            return _description;
260                    }
261            }
262    
263            public void setDescription(String description) {
264                    _description = description;
265            }
266    
267            @JSON
268            public boolean getAddedByLDAPImport() {
269                    return _addedByLDAPImport;
270            }
271    
272            public boolean isAddedByLDAPImport() {
273                    return _addedByLDAPImport;
274            }
275    
276            public void setAddedByLDAPImport(boolean addedByLDAPImport) {
277                    _addedByLDAPImport = addedByLDAPImport;
278            }
279    
280            public long getColumnBitmask() {
281                    return _columnBitmask;
282            }
283    
284            @Override
285            public UserGroup toEscapedModel() {
286                    if (_escapedModelProxy == null) {
287                            _escapedModelProxy = (UserGroup)ProxyUtil.newProxyInstance(_classLoader,
288                                            _escapedModelProxyInterfaces,
289                                            new AutoEscapeBeanHandler(this));
290                    }
291    
292                    return _escapedModelProxy;
293            }
294    
295            @Override
296            public ExpandoBridge getExpandoBridge() {
297                    if (_expandoBridge == null) {
298                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
299                                            UserGroup.class.getName(), getPrimaryKey());
300                    }
301    
302                    return _expandoBridge;
303            }
304    
305            @Override
306            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
307                    getExpandoBridge().setAttributes(serviceContext);
308            }
309    
310            @Override
311            public Object clone() {
312                    UserGroupImpl userGroupImpl = new UserGroupImpl();
313    
314                    userGroupImpl.setUserGroupId(getUserGroupId());
315                    userGroupImpl.setCompanyId(getCompanyId());
316                    userGroupImpl.setParentUserGroupId(getParentUserGroupId());
317                    userGroupImpl.setName(getName());
318                    userGroupImpl.setDescription(getDescription());
319                    userGroupImpl.setAddedByLDAPImport(getAddedByLDAPImport());
320    
321                    userGroupImpl.resetOriginalValues();
322    
323                    return userGroupImpl;
324            }
325    
326            public int compareTo(UserGroup userGroup) {
327                    int value = 0;
328    
329                    value = getName().compareTo(userGroup.getName());
330    
331                    if (value != 0) {
332                            return value;
333                    }
334    
335                    return 0;
336            }
337    
338            @Override
339            public boolean equals(Object obj) {
340                    if (obj == null) {
341                            return false;
342                    }
343    
344                    UserGroup userGroup = null;
345    
346                    try {
347                            userGroup = (UserGroup)obj;
348                    }
349                    catch (ClassCastException cce) {
350                            return false;
351                    }
352    
353                    long primaryKey = userGroup.getPrimaryKey();
354    
355                    if (getPrimaryKey() == primaryKey) {
356                            return true;
357                    }
358                    else {
359                            return false;
360                    }
361            }
362    
363            @Override
364            public int hashCode() {
365                    return (int)getPrimaryKey();
366            }
367    
368            @Override
369            public void resetOriginalValues() {
370                    UserGroupModelImpl userGroupModelImpl = this;
371    
372                    userGroupModelImpl._originalCompanyId = userGroupModelImpl._companyId;
373    
374                    userGroupModelImpl._setOriginalCompanyId = false;
375    
376                    userGroupModelImpl._originalParentUserGroupId = userGroupModelImpl._parentUserGroupId;
377    
378                    userGroupModelImpl._setOriginalParentUserGroupId = false;
379    
380                    userGroupModelImpl._originalName = userGroupModelImpl._name;
381    
382                    userGroupModelImpl._columnBitmask = 0;
383            }
384    
385            @Override
386            public CacheModel<UserGroup> toCacheModel() {
387                    UserGroupCacheModel userGroupCacheModel = new UserGroupCacheModel();
388    
389                    userGroupCacheModel.userGroupId = getUserGroupId();
390    
391                    userGroupCacheModel.companyId = getCompanyId();
392    
393                    userGroupCacheModel.parentUserGroupId = getParentUserGroupId();
394    
395                    userGroupCacheModel.name = getName();
396    
397                    String name = userGroupCacheModel.name;
398    
399                    if ((name != null) && (name.length() == 0)) {
400                            userGroupCacheModel.name = null;
401                    }
402    
403                    userGroupCacheModel.description = getDescription();
404    
405                    String description = userGroupCacheModel.description;
406    
407                    if ((description != null) && (description.length() == 0)) {
408                            userGroupCacheModel.description = null;
409                    }
410    
411                    userGroupCacheModel.addedByLDAPImport = getAddedByLDAPImport();
412    
413                    return userGroupCacheModel;
414            }
415    
416            @Override
417            public String toString() {
418                    StringBundler sb = new StringBundler(13);
419    
420                    sb.append("{userGroupId=");
421                    sb.append(getUserGroupId());
422                    sb.append(", companyId=");
423                    sb.append(getCompanyId());
424                    sb.append(", parentUserGroupId=");
425                    sb.append(getParentUserGroupId());
426                    sb.append(", name=");
427                    sb.append(getName());
428                    sb.append(", description=");
429                    sb.append(getDescription());
430                    sb.append(", addedByLDAPImport=");
431                    sb.append(getAddedByLDAPImport());
432                    sb.append("}");
433    
434                    return sb.toString();
435            }
436    
437            public String toXmlString() {
438                    StringBundler sb = new StringBundler(22);
439    
440                    sb.append("<model><model-name>");
441                    sb.append("com.liferay.portal.model.UserGroup");
442                    sb.append("</model-name>");
443    
444                    sb.append(
445                            "<column><column-name>userGroupId</column-name><column-value><![CDATA[");
446                    sb.append(getUserGroupId());
447                    sb.append("]]></column-value></column>");
448                    sb.append(
449                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
450                    sb.append(getCompanyId());
451                    sb.append("]]></column-value></column>");
452                    sb.append(
453                            "<column><column-name>parentUserGroupId</column-name><column-value><![CDATA[");
454                    sb.append(getParentUserGroupId());
455                    sb.append("]]></column-value></column>");
456                    sb.append(
457                            "<column><column-name>name</column-name><column-value><![CDATA[");
458                    sb.append(getName());
459                    sb.append("]]></column-value></column>");
460                    sb.append(
461                            "<column><column-name>description</column-name><column-value><![CDATA[");
462                    sb.append(getDescription());
463                    sb.append("]]></column-value></column>");
464                    sb.append(
465                            "<column><column-name>addedByLDAPImport</column-name><column-value><![CDATA[");
466                    sb.append(getAddedByLDAPImport());
467                    sb.append("]]></column-value></column>");
468    
469                    sb.append("</model>");
470    
471                    return sb.toString();
472            }
473    
474            private static ClassLoader _classLoader = UserGroup.class.getClassLoader();
475            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
476                            UserGroup.class
477                    };
478            private long _userGroupId;
479            private long _companyId;
480            private long _originalCompanyId;
481            private boolean _setOriginalCompanyId;
482            private long _parentUserGroupId;
483            private long _originalParentUserGroupId;
484            private boolean _setOriginalParentUserGroupId;
485            private String _name;
486            private String _originalName;
487            private String _description;
488            private boolean _addedByLDAPImport;
489            private transient ExpandoBridge _expandoBridge;
490            private long _columnBitmask;
491            private UserGroup _escapedModelProxy;
492    }