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 new Long(_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 (_escapedModelProxy == null) {
363                            _escapedModelProxy = (UserGroup)ProxyUtil.newProxyInstance(_classLoader,
364                                            _escapedModelProxyInterfaces,
365                                            new AutoEscapeBeanHandler(this));
366                    }
367    
368                    return _escapedModelProxy;
369            }
370    
371            @Override
372            public Object clone() {
373                    UserGroupImpl userGroupImpl = new UserGroupImpl();
374    
375                    userGroupImpl.setUserGroupId(getUserGroupId());
376                    userGroupImpl.setCompanyId(getCompanyId());
377                    userGroupImpl.setParentUserGroupId(getParentUserGroupId());
378                    userGroupImpl.setName(getName());
379                    userGroupImpl.setDescription(getDescription());
380                    userGroupImpl.setAddedByLDAPImport(getAddedByLDAPImport());
381    
382                    userGroupImpl.resetOriginalValues();
383    
384                    return userGroupImpl;
385            }
386    
387            public int compareTo(UserGroup userGroup) {
388                    int value = 0;
389    
390                    value = getName().compareTo(userGroup.getName());
391    
392                    if (value != 0) {
393                            return value;
394                    }
395    
396                    return 0;
397            }
398    
399            @Override
400            public boolean equals(Object obj) {
401                    if (obj == null) {
402                            return false;
403                    }
404    
405                    UserGroup userGroup = null;
406    
407                    try {
408                            userGroup = (UserGroup)obj;
409                    }
410                    catch (ClassCastException cce) {
411                            return false;
412                    }
413    
414                    long primaryKey = userGroup.getPrimaryKey();
415    
416                    if (getPrimaryKey() == primaryKey) {
417                            return true;
418                    }
419                    else {
420                            return false;
421                    }
422            }
423    
424            @Override
425            public int hashCode() {
426                    return (int)getPrimaryKey();
427            }
428    
429            @Override
430            public void resetOriginalValues() {
431                    UserGroupModelImpl userGroupModelImpl = this;
432    
433                    userGroupModelImpl._originalCompanyId = userGroupModelImpl._companyId;
434    
435                    userGroupModelImpl._setOriginalCompanyId = false;
436    
437                    userGroupModelImpl._originalParentUserGroupId = userGroupModelImpl._parentUserGroupId;
438    
439                    userGroupModelImpl._setOriginalParentUserGroupId = false;
440    
441                    userGroupModelImpl._originalName = userGroupModelImpl._name;
442    
443                    userGroupModelImpl._columnBitmask = 0;
444            }
445    
446            @Override
447            public CacheModel<UserGroup> toCacheModel() {
448                    UserGroupCacheModel userGroupCacheModel = new UserGroupCacheModel();
449    
450                    userGroupCacheModel.userGroupId = getUserGroupId();
451    
452                    userGroupCacheModel.companyId = getCompanyId();
453    
454                    userGroupCacheModel.parentUserGroupId = getParentUserGroupId();
455    
456                    userGroupCacheModel.name = getName();
457    
458                    String name = userGroupCacheModel.name;
459    
460                    if ((name != null) && (name.length() == 0)) {
461                            userGroupCacheModel.name = null;
462                    }
463    
464                    userGroupCacheModel.description = getDescription();
465    
466                    String description = userGroupCacheModel.description;
467    
468                    if ((description != null) && (description.length() == 0)) {
469                            userGroupCacheModel.description = null;
470                    }
471    
472                    userGroupCacheModel.addedByLDAPImport = getAddedByLDAPImport();
473    
474                    return userGroupCacheModel;
475            }
476    
477            @Override
478            public String toString() {
479                    StringBundler sb = new StringBundler(13);
480    
481                    sb.append("{userGroupId=");
482                    sb.append(getUserGroupId());
483                    sb.append(", companyId=");
484                    sb.append(getCompanyId());
485                    sb.append(", parentUserGroupId=");
486                    sb.append(getParentUserGroupId());
487                    sb.append(", name=");
488                    sb.append(getName());
489                    sb.append(", description=");
490                    sb.append(getDescription());
491                    sb.append(", addedByLDAPImport=");
492                    sb.append(getAddedByLDAPImport());
493                    sb.append("}");
494    
495                    return sb.toString();
496            }
497    
498            public String toXmlString() {
499                    StringBundler sb = new StringBundler(22);
500    
501                    sb.append("<model><model-name>");
502                    sb.append("com.liferay.portal.model.UserGroup");
503                    sb.append("</model-name>");
504    
505                    sb.append(
506                            "<column><column-name>userGroupId</column-name><column-value><![CDATA[");
507                    sb.append(getUserGroupId());
508                    sb.append("]]></column-value></column>");
509                    sb.append(
510                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
511                    sb.append(getCompanyId());
512                    sb.append("]]></column-value></column>");
513                    sb.append(
514                            "<column><column-name>parentUserGroupId</column-name><column-value><![CDATA[");
515                    sb.append(getParentUserGroupId());
516                    sb.append("]]></column-value></column>");
517                    sb.append(
518                            "<column><column-name>name</column-name><column-value><![CDATA[");
519                    sb.append(getName());
520                    sb.append("]]></column-value></column>");
521                    sb.append(
522                            "<column><column-name>description</column-name><column-value><![CDATA[");
523                    sb.append(getDescription());
524                    sb.append("]]></column-value></column>");
525                    sb.append(
526                            "<column><column-name>addedByLDAPImport</column-name><column-value><![CDATA[");
527                    sb.append(getAddedByLDAPImport());
528                    sb.append("]]></column-value></column>");
529    
530                    sb.append("</model>");
531    
532                    return sb.toString();
533            }
534    
535            private static ClassLoader _classLoader = UserGroup.class.getClassLoader();
536            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
537                            UserGroup.class
538                    };
539            private long _userGroupId;
540            private long _companyId;
541            private long _originalCompanyId;
542            private boolean _setOriginalCompanyId;
543            private long _parentUserGroupId;
544            private long _originalParentUserGroupId;
545            private boolean _setOriginalParentUserGroupId;
546            private String _name;
547            private String _originalName;
548            private String _description;
549            private boolean _addedByLDAPImport;
550            private long _columnBitmask;
551            private UserGroup _escapedModelProxy;
552    }