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.HashMap;
038    import java.util.List;
039    import java.util.Map;
040    
041    /**
042     * 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.
043     *
044     * <p>
045     * 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}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see UserGroupImpl
050     * @see com.liferay.portal.model.UserGroup
051     * @see com.liferay.portal.model.UserGroupModel
052     * @generated
053     */
054    @JSON(strict = true)
055    public class UserGroupModelImpl extends BaseModelImpl<UserGroup>
056            implements UserGroupModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * 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.
061             */
062            public static final String TABLE_NAME = "UserGroup";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "userGroupId", Types.BIGINT },
065                            { "companyId", Types.BIGINT },
066                            { "parentUserGroupId", Types.BIGINT },
067                            { "name", Types.VARCHAR },
068                            { "description", Types.VARCHAR },
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,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                    if (soapModel == null) {
099                            return null;
100                    }
101    
102                    UserGroup model = new UserGroupImpl();
103    
104                    model.setUserGroupId(soapModel.getUserGroupId());
105                    model.setCompanyId(soapModel.getCompanyId());
106                    model.setParentUserGroupId(soapModel.getParentUserGroupId());
107                    model.setName(soapModel.getName());
108                    model.setDescription(soapModel.getDescription());
109                    model.setAddedByLDAPImport(soapModel.getAddedByLDAPImport());
110    
111                    return model;
112            }
113    
114            /**
115             * Converts the soap model instances into normal model instances.
116             *
117             * @param soapModels the soap model instances to convert
118             * @return the normal model instances
119             */
120            public static List<UserGroup> toModels(UserGroupSoap[] soapModels) {
121                    if (soapModels == null) {
122                            return null;
123                    }
124    
125                    List<UserGroup> models = new ArrayList<UserGroup>(soapModels.length);
126    
127                    for (UserGroupSoap soapModel : soapModels) {
128                            models.add(toModel(soapModel));
129                    }
130    
131                    return models;
132            }
133    
134            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_NAME = "Groups_UserGroups";
135            public static final Object[][] MAPPING_TABLE_GROUPS_USERGROUPS_COLUMNS = {
136                            { "groupId", Types.BIGINT },
137                            { "userGroupId", Types.BIGINT }
138                    };
139            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))";
140            public static final boolean FINDER_CACHE_ENABLED_GROUPS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
141                                    "value.object.finder.cache.enabled.Groups_UserGroups"), true);
142            public static final String MAPPING_TABLE_USERGROUPS_TEAMS_NAME = "UserGroups_Teams";
143            public static final Object[][] MAPPING_TABLE_USERGROUPS_TEAMS_COLUMNS = {
144                            { "userGroupId", Types.BIGINT },
145                            { "teamId", Types.BIGINT }
146                    };
147            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))";
148            public static final boolean FINDER_CACHE_ENABLED_USERGROUPS_TEAMS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
149                                    "value.object.finder.cache.enabled.UserGroups_Teams"), true);
150            public static final String MAPPING_TABLE_USERS_USERGROUPS_NAME = "Users_UserGroups";
151            public static final Object[][] MAPPING_TABLE_USERS_USERGROUPS_COLUMNS = {
152                            { "userGroupId", Types.BIGINT },
153                            { "userId", Types.BIGINT }
154                    };
155            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))";
156            public static final boolean FINDER_CACHE_ENABLED_USERS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
157                                    "value.object.finder.cache.enabled.Users_UserGroups"), true);
158            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
159                                    "lock.expiration.time.com.liferay.portal.model.UserGroup"));
160    
161            public UserGroupModelImpl() {
162            }
163    
164            public long getPrimaryKey() {
165                    return _userGroupId;
166            }
167    
168            public void setPrimaryKey(long primaryKey) {
169                    setUserGroupId(primaryKey);
170            }
171    
172            public Serializable getPrimaryKeyObj() {
173                    return _userGroupId;
174            }
175    
176            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
177                    setPrimaryKey(((Long)primaryKeyObj).longValue());
178            }
179    
180            public Class<?> getModelClass() {
181                    return UserGroup.class;
182            }
183    
184            public String getModelClassName() {
185                    return UserGroup.class.getName();
186            }
187    
188            @Override
189            public Map<String, Object> getModelAttributes() {
190                    Map<String, Object> attributes = new HashMap<String, Object>();
191    
192                    attributes.put("userGroupId", getUserGroupId());
193                    attributes.put("companyId", getCompanyId());
194                    attributes.put("parentUserGroupId", getParentUserGroupId());
195                    attributes.put("name", getName());
196                    attributes.put("description", getDescription());
197                    attributes.put("addedByLDAPImport", getAddedByLDAPImport());
198    
199                    return attributes;
200            }
201    
202            @Override
203            public void setModelAttributes(Map<String, Object> attributes) {
204                    Long userGroupId = (Long)attributes.get("userGroupId");
205    
206                    if (userGroupId != null) {
207                            setUserGroupId(userGroupId);
208                    }
209    
210                    Long companyId = (Long)attributes.get("companyId");
211    
212                    if (companyId != null) {
213                            setCompanyId(companyId);
214                    }
215    
216                    Long parentUserGroupId = (Long)attributes.get("parentUserGroupId");
217    
218                    if (parentUserGroupId != null) {
219                            setParentUserGroupId(parentUserGroupId);
220                    }
221    
222                    String name = (String)attributes.get("name");
223    
224                    if (name != null) {
225                            setName(name);
226                    }
227    
228                    String description = (String)attributes.get("description");
229    
230                    if (description != null) {
231                            setDescription(description);
232                    }
233    
234                    Boolean addedByLDAPImport = (Boolean)attributes.get("addedByLDAPImport");
235    
236                    if (addedByLDAPImport != null) {
237                            setAddedByLDAPImport(addedByLDAPImport);
238                    }
239            }
240    
241            @JSON
242            public long getUserGroupId() {
243                    return _userGroupId;
244            }
245    
246            public void setUserGroupId(long userGroupId) {
247                    _userGroupId = userGroupId;
248            }
249    
250            @JSON
251            public long getCompanyId() {
252                    return _companyId;
253            }
254    
255            public void setCompanyId(long companyId) {
256                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
257    
258                    if (!_setOriginalCompanyId) {
259                            _setOriginalCompanyId = true;
260    
261                            _originalCompanyId = _companyId;
262                    }
263    
264                    _companyId = companyId;
265            }
266    
267            public long getOriginalCompanyId() {
268                    return _originalCompanyId;
269            }
270    
271            @JSON
272            public long getParentUserGroupId() {
273                    return _parentUserGroupId;
274            }
275    
276            public void setParentUserGroupId(long parentUserGroupId) {
277                    _columnBitmask |= PARENTUSERGROUPID_COLUMN_BITMASK;
278    
279                    if (!_setOriginalParentUserGroupId) {
280                            _setOriginalParentUserGroupId = true;
281    
282                            _originalParentUserGroupId = _parentUserGroupId;
283                    }
284    
285                    _parentUserGroupId = parentUserGroupId;
286            }
287    
288            public long getOriginalParentUserGroupId() {
289                    return _originalParentUserGroupId;
290            }
291    
292            @JSON
293            public String getName() {
294                    if (_name == null) {
295                            return StringPool.BLANK;
296                    }
297                    else {
298                            return _name;
299                    }
300            }
301    
302            public void setName(String name) {
303                    _columnBitmask = -1L;
304    
305                    if (_originalName == null) {
306                            _originalName = _name;
307                    }
308    
309                    _name = name;
310            }
311    
312            public String getOriginalName() {
313                    return GetterUtil.getString(_originalName);
314            }
315    
316            @JSON
317            public String getDescription() {
318                    if (_description == null) {
319                            return StringPool.BLANK;
320                    }
321                    else {
322                            return _description;
323                    }
324            }
325    
326            public void setDescription(String description) {
327                    _description = description;
328            }
329    
330            @JSON
331            public boolean getAddedByLDAPImport() {
332                    return _addedByLDAPImport;
333            }
334    
335            public boolean isAddedByLDAPImport() {
336                    return _addedByLDAPImport;
337            }
338    
339            public void setAddedByLDAPImport(boolean addedByLDAPImport) {
340                    _addedByLDAPImport = addedByLDAPImport;
341            }
342    
343            public long getColumnBitmask() {
344                    return _columnBitmask;
345            }
346    
347            @Override
348            public ExpandoBridge getExpandoBridge() {
349                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
350                            UserGroup.class.getName(), getPrimaryKey());
351            }
352    
353            @Override
354            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
355                    ExpandoBridge expandoBridge = getExpandoBridge();
356    
357                    expandoBridge.setAttributes(serviceContext);
358            }
359    
360            @Override
361            public UserGroup toEscapedModel() {
362                    if (_escapedModel == null) {
363                            _escapedModel = (UserGroup)ProxyUtil.newProxyInstance(_classLoader,
364                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
365                    }
366    
367                    return _escapedModel;
368            }
369    
370            @Override
371            public Object clone() {
372                    UserGroupImpl userGroupImpl = new UserGroupImpl();
373    
374                    userGroupImpl.setUserGroupId(getUserGroupId());
375                    userGroupImpl.setCompanyId(getCompanyId());
376                    userGroupImpl.setParentUserGroupId(getParentUserGroupId());
377                    userGroupImpl.setName(getName());
378                    userGroupImpl.setDescription(getDescription());
379                    userGroupImpl.setAddedByLDAPImport(getAddedByLDAPImport());
380    
381                    userGroupImpl.resetOriginalValues();
382    
383                    return userGroupImpl;
384            }
385    
386            public int compareTo(UserGroup userGroup) {
387                    int value = 0;
388    
389                    value = getName().compareTo(userGroup.getName());
390    
391                    if (value != 0) {
392                            return value;
393                    }
394    
395                    return 0;
396            }
397    
398            @Override
399            public boolean equals(Object obj) {
400                    if (obj == null) {
401                            return false;
402                    }
403    
404                    UserGroup userGroup = null;
405    
406                    try {
407                            userGroup = (UserGroup)obj;
408                    }
409                    catch (ClassCastException cce) {
410                            return false;
411                    }
412    
413                    long primaryKey = userGroup.getPrimaryKey();
414    
415                    if (getPrimaryKey() == primaryKey) {
416                            return true;
417                    }
418                    else {
419                            return false;
420                    }
421            }
422    
423            @Override
424            public int hashCode() {
425                    return (int)getPrimaryKey();
426            }
427    
428            @Override
429            public void resetOriginalValues() {
430                    UserGroupModelImpl userGroupModelImpl = this;
431    
432                    userGroupModelImpl._originalCompanyId = userGroupModelImpl._companyId;
433    
434                    userGroupModelImpl._setOriginalCompanyId = false;
435    
436                    userGroupModelImpl._originalParentUserGroupId = userGroupModelImpl._parentUserGroupId;
437    
438                    userGroupModelImpl._setOriginalParentUserGroupId = false;
439    
440                    userGroupModelImpl._originalName = userGroupModelImpl._name;
441    
442                    userGroupModelImpl._columnBitmask = 0;
443            }
444    
445            @Override
446            public CacheModel<UserGroup> toCacheModel() {
447                    UserGroupCacheModel userGroupCacheModel = new UserGroupCacheModel();
448    
449                    userGroupCacheModel.userGroupId = getUserGroupId();
450    
451                    userGroupCacheModel.companyId = getCompanyId();
452    
453                    userGroupCacheModel.parentUserGroupId = getParentUserGroupId();
454    
455                    userGroupCacheModel.name = getName();
456    
457                    String name = userGroupCacheModel.name;
458    
459                    if ((name != null) && (name.length() == 0)) {
460                            userGroupCacheModel.name = null;
461                    }
462    
463                    userGroupCacheModel.description = getDescription();
464    
465                    String description = userGroupCacheModel.description;
466    
467                    if ((description != null) && (description.length() == 0)) {
468                            userGroupCacheModel.description = null;
469                    }
470    
471                    userGroupCacheModel.addedByLDAPImport = getAddedByLDAPImport();
472    
473                    return userGroupCacheModel;
474            }
475    
476            @Override
477            public String toString() {
478                    StringBundler sb = new StringBundler(13);
479    
480                    sb.append("{userGroupId=");
481                    sb.append(getUserGroupId());
482                    sb.append(", companyId=");
483                    sb.append(getCompanyId());
484                    sb.append(", parentUserGroupId=");
485                    sb.append(getParentUserGroupId());
486                    sb.append(", name=");
487                    sb.append(getName());
488                    sb.append(", description=");
489                    sb.append(getDescription());
490                    sb.append(", addedByLDAPImport=");
491                    sb.append(getAddedByLDAPImport());
492                    sb.append("}");
493    
494                    return sb.toString();
495            }
496    
497            public String toXmlString() {
498                    StringBundler sb = new StringBundler(22);
499    
500                    sb.append("<model><model-name>");
501                    sb.append("com.liferay.portal.model.UserGroup");
502                    sb.append("</model-name>");
503    
504                    sb.append(
505                            "<column><column-name>userGroupId</column-name><column-value><![CDATA[");
506                    sb.append(getUserGroupId());
507                    sb.append("]]></column-value></column>");
508                    sb.append(
509                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
510                    sb.append(getCompanyId());
511                    sb.append("]]></column-value></column>");
512                    sb.append(
513                            "<column><column-name>parentUserGroupId</column-name><column-value><![CDATA[");
514                    sb.append(getParentUserGroupId());
515                    sb.append("]]></column-value></column>");
516                    sb.append(
517                            "<column><column-name>name</column-name><column-value><![CDATA[");
518                    sb.append(getName());
519                    sb.append("]]></column-value></column>");
520                    sb.append(
521                            "<column><column-name>description</column-name><column-value><![CDATA[");
522                    sb.append(getDescription());
523                    sb.append("]]></column-value></column>");
524                    sb.append(
525                            "<column><column-name>addedByLDAPImport</column-name><column-value><![CDATA[");
526                    sb.append(getAddedByLDAPImport());
527                    sb.append("]]></column-value></column>");
528    
529                    sb.append("</model>");
530    
531                    return sb.toString();
532            }
533    
534            private static ClassLoader _classLoader = UserGroup.class.getClassLoader();
535            private static Class<?>[] _escapedModelInterfaces = new Class[] {
536                            UserGroup.class
537                    };
538            private long _userGroupId;
539            private long _companyId;
540            private long _originalCompanyId;
541            private boolean _setOriginalCompanyId;
542            private long _parentUserGroupId;
543            private long _originalParentUserGroupId;
544            private boolean _setOriginalParentUserGroupId;
545            private String _name;
546            private String _originalName;
547            private String _description;
548            private boolean _addedByLDAPImport;
549            private long _columnBitmask;
550            private UserGroup _escapedModel;
551    }