1   /**
2    * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3    *
4    *
5    *
6    *
7    * The contents of this file are subject to the terms of the Liferay Enterprise
8    * Subscription License ("License"). You may not use this file except in
9    * compliance with the License. You can obtain a copy of the License by
10   * contacting Liferay, Inc. See the License for the specific language governing
11   * permissions and limitations under the License, including but not limited to
12   * distribution rights of the Software.
13   *
14   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20   * SOFTWARE.
21   */
22  
23  package com.liferay.portal.model.impl;
24  
25  import com.liferay.portal.SystemException;
26  import com.liferay.portal.kernel.bean.ReadOnlyBeanHandler;
27  import com.liferay.portal.kernel.util.GetterUtil;
28  import com.liferay.portal.kernel.util.HtmlUtil;
29  import com.liferay.portal.kernel.util.StringBundler;
30  import com.liferay.portal.kernel.util.StringPool;
31  import com.liferay.portal.model.Group;
32  import com.liferay.portal.model.GroupSoap;
33  import com.liferay.portal.service.ServiceContext;
34  import com.liferay.portal.util.PortalUtil;
35  
36  import com.liferay.portlet.expando.model.ExpandoBridge;
37  import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
38  
39  import java.io.Serializable;
40  
41  import java.lang.reflect.Proxy;
42  
43  import java.sql.Types;
44  
45  import java.util.ArrayList;
46  import java.util.List;
47  
48  /**
49   * <a href="GroupModelImpl.java.html"><b><i>View Source</i></b></a>
50   *
51   * <p>
52   * ServiceBuilder generated this class. Modifications in this class will be
53   * overwritten the next time is generated.
54   * </p>
55   *
56   * <p>
57   * This interface is a model that represents the Group_ table in the
58   * database.
59   * </p>
60   *
61   * @author    Brian Wing Shun Chan
62   * @see       GroupImpl
63   * @see       com.liferay.portal.model.Group
64   * @see       com.liferay.portal.model.GroupModel
65   * @generated
66   */
67  public class GroupModelImpl extends BaseModelImpl<Group> {
68      public static final String TABLE_NAME = "Group_";
69      public static final Object[][] TABLE_COLUMNS = {
70              { "groupId", new Integer(Types.BIGINT) },
71              { "companyId", new Integer(Types.BIGINT) },
72              { "creatorUserId", new Integer(Types.BIGINT) },
73              { "classNameId", new Integer(Types.BIGINT) },
74              { "classPK", new Integer(Types.BIGINT) },
75              { "parentGroupId", new Integer(Types.BIGINT) },
76              { "liveGroupId", new Integer(Types.BIGINT) },
77              { "name", new Integer(Types.VARCHAR) },
78              { "description", new Integer(Types.VARCHAR) },
79              { "type_", new Integer(Types.INTEGER) },
80              { "typeSettings", new Integer(Types.VARCHAR) },
81              { "friendlyURL", new Integer(Types.VARCHAR) },
82              { "active_", new Integer(Types.BOOLEAN) }
83          };
84      public static final String TABLE_SQL_CREATE = "create table Group_ (groupId LONG not null primary key,companyId LONG,creatorUserId LONG,classNameId LONG,classPK LONG,parentGroupId LONG,liveGroupId LONG,name VARCHAR(75) null,description STRING null,type_ INTEGER,typeSettings STRING null,friendlyURL VARCHAR(100) null,active_ BOOLEAN)";
85      public static final String TABLE_SQL_DROP = "drop table Group_";
86      public static final String ORDER_BY_JPQL = " ORDER BY group_.name ASC";
87      public static final String ORDER_BY_SQL = " ORDER BY Group_.name ASC";
88      public static final String DATA_SOURCE = "liferayDataSource";
89      public static final String SESSION_FACTORY = "liferaySessionFactory";
90      public static final String TX_MANAGER = "liferayTransactionManager";
91      public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
92                  "value.object.entity.cache.enabled.com.liferay.portal.model.Group"),
93              true);
94      public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
95                  "value.object.finder.cache.enabled.com.liferay.portal.model.Group"),
96              true);
97  
98      public static Group toModel(GroupSoap soapModel) {
99          Group model = new GroupImpl();
100 
101         model.setGroupId(soapModel.getGroupId());
102         model.setCompanyId(soapModel.getCompanyId());
103         model.setCreatorUserId(soapModel.getCreatorUserId());
104         model.setClassNameId(soapModel.getClassNameId());
105         model.setClassPK(soapModel.getClassPK());
106         model.setParentGroupId(soapModel.getParentGroupId());
107         model.setLiveGroupId(soapModel.getLiveGroupId());
108         model.setName(soapModel.getName());
109         model.setDescription(soapModel.getDescription());
110         model.setType(soapModel.getType());
111         model.setTypeSettings(soapModel.getTypeSettings());
112         model.setFriendlyURL(soapModel.getFriendlyURL());
113         model.setActive(soapModel.getActive());
114 
115         return model;
116     }
117 
118     public static List<Group> toModels(GroupSoap[] soapModels) {
119         List<Group> models = new ArrayList<Group>(soapModels.length);
120 
121         for (GroupSoap soapModel : soapModels) {
122             models.add(toModel(soapModel));
123         }
124 
125         return models;
126     }
127 
128     public static final String MAPPING_TABLE_GROUPS_ORGS_NAME = "Groups_Orgs";
129     public static final Object[][] MAPPING_TABLE_GROUPS_ORGS_COLUMNS = {
130             { "groupId", new Integer(Types.BIGINT) },
131             { "organizationId", new Integer(Types.BIGINT) }
132         };
133     public static final String MAPPING_TABLE_GROUPS_ORGS_SQL_CREATE = "create table Groups_Orgs (groupId LONG not null,organizationId LONG not null,primary key (groupId, organizationId))";
134     public static final boolean FINDER_CACHE_ENABLED_GROUPS_ORGS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
135                 "value.object.finder.cache.enabled.Groups_Orgs"), true);
136     public static final String MAPPING_TABLE_GROUPS_PERMISSIONS_NAME = "Groups_Permissions";
137     public static final Object[][] MAPPING_TABLE_GROUPS_PERMISSIONS_COLUMNS = {
138             { "groupId", new Integer(Types.BIGINT) },
139             { "permissionId", new Integer(Types.BIGINT) }
140         };
141     public static final String MAPPING_TABLE_GROUPS_PERMISSIONS_SQL_CREATE = "create table Groups_Permissions (groupId LONG not null,permissionId LONG not null,primary key (groupId, permissionId))";
142     public static final boolean FINDER_CACHE_ENABLED_GROUPS_PERMISSIONS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
143                 "value.object.finder.cache.enabled.Groups_Permissions"), true);
144     public static final String MAPPING_TABLE_GROUPS_ROLES_NAME = "Groups_Roles";
145     public static final Object[][] MAPPING_TABLE_GROUPS_ROLES_COLUMNS = {
146             { "groupId", new Integer(Types.BIGINT) },
147             { "roleId", new Integer(Types.BIGINT) }
148         };
149     public static final String MAPPING_TABLE_GROUPS_ROLES_SQL_CREATE = "create table Groups_Roles (groupId LONG not null,roleId LONG not null,primary key (groupId, roleId))";
150     public static final boolean FINDER_CACHE_ENABLED_GROUPS_ROLES = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
151                 "value.object.finder.cache.enabled.Groups_Roles"), true);
152     public static final String MAPPING_TABLE_GROUPS_USERGROUPS_NAME = "Groups_UserGroups";
153     public static final Object[][] MAPPING_TABLE_GROUPS_USERGROUPS_COLUMNS = {
154             { "groupId", new Integer(Types.BIGINT) },
155             { "userGroupId", new Integer(Types.BIGINT) }
156         };
157     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))";
158     public static final boolean FINDER_CACHE_ENABLED_GROUPS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
159                 "value.object.finder.cache.enabled.Groups_UserGroups"), true);
160     public static final String MAPPING_TABLE_USERS_GROUPS_NAME = com.liferay.portal.model.impl.UserModelImpl.MAPPING_TABLE_USERS_GROUPS_NAME;
161     public static final boolean FINDER_CACHE_ENABLED_USERS_GROUPS = com.liferay.portal.model.impl.UserModelImpl.FINDER_CACHE_ENABLED_USERS_GROUPS;
162     public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
163                 "lock.expiration.time.com.liferay.portal.model.Group"));
164 
165     public GroupModelImpl() {
166     }
167 
168     public long getPrimaryKey() {
169         return _groupId;
170     }
171 
172     public void setPrimaryKey(long pk) {
173         setGroupId(pk);
174     }
175 
176     public Serializable getPrimaryKeyObj() {
177         return new Long(_groupId);
178     }
179 
180     public long getGroupId() {
181         return _groupId;
182     }
183 
184     public void setGroupId(long groupId) {
185         _groupId = groupId;
186     }
187 
188     public long getCompanyId() {
189         return _companyId;
190     }
191 
192     public void setCompanyId(long companyId) {
193         _companyId = companyId;
194 
195         if (!_setOriginalCompanyId) {
196             _setOriginalCompanyId = true;
197 
198             _originalCompanyId = companyId;
199         }
200     }
201 
202     public long getOriginalCompanyId() {
203         return _originalCompanyId;
204     }
205 
206     public long getCreatorUserId() {
207         return _creatorUserId;
208     }
209 
210     public void setCreatorUserId(long creatorUserId) {
211         _creatorUserId = creatorUserId;
212     }
213 
214     public String getCreatorUserUuid() throws SystemException {
215         return PortalUtil.getUserValue(getCreatorUserId(), "uuid",
216             _creatorUserUuid);
217     }
218 
219     public void setCreatorUserUuid(String creatorUserUuid) {
220         _creatorUserUuid = creatorUserUuid;
221     }
222 
223     public String getClassName() {
224         if (getClassNameId() <= 0) {
225             return StringPool.BLANK;
226         }
227 
228         return PortalUtil.getClassName(getClassNameId());
229     }
230 
231     public long getClassNameId() {
232         return _classNameId;
233     }
234 
235     public void setClassNameId(long classNameId) {
236         _classNameId = classNameId;
237 
238         if (!_setOriginalClassNameId) {
239             _setOriginalClassNameId = true;
240 
241             _originalClassNameId = classNameId;
242         }
243     }
244 
245     public long getOriginalClassNameId() {
246         return _originalClassNameId;
247     }
248 
249     public long getClassPK() {
250         return _classPK;
251     }
252 
253     public void setClassPK(long classPK) {
254         _classPK = classPK;
255 
256         if (!_setOriginalClassPK) {
257             _setOriginalClassPK = true;
258 
259             _originalClassPK = classPK;
260         }
261     }
262 
263     public long getOriginalClassPK() {
264         return _originalClassPK;
265     }
266 
267     public long getParentGroupId() {
268         return _parentGroupId;
269     }
270 
271     public void setParentGroupId(long parentGroupId) {
272         _parentGroupId = parentGroupId;
273     }
274 
275     public long getLiveGroupId() {
276         return _liveGroupId;
277     }
278 
279     public void setLiveGroupId(long liveGroupId) {
280         _liveGroupId = liveGroupId;
281 
282         if (!_setOriginalLiveGroupId) {
283             _setOriginalLiveGroupId = true;
284 
285             _originalLiveGroupId = liveGroupId;
286         }
287     }
288 
289     public long getOriginalLiveGroupId() {
290         return _originalLiveGroupId;
291     }
292 
293     public String getName() {
294         return GetterUtil.getString(_name);
295     }
296 
297     public void setName(String name) {
298         _name = name;
299 
300         if (_originalName == null) {
301             _originalName = name;
302         }
303     }
304 
305     public String getOriginalName() {
306         return GetterUtil.getString(_originalName);
307     }
308 
309     public String getDescription() {
310         return GetterUtil.getString(_description);
311     }
312 
313     public void setDescription(String description) {
314         _description = description;
315     }
316 
317     public int getType() {
318         return _type;
319     }
320 
321     public void setType(int type) {
322         _type = type;
323     }
324 
325     public String getTypeSettings() {
326         return GetterUtil.getString(_typeSettings);
327     }
328 
329     public void setTypeSettings(String typeSettings) {
330         _typeSettings = typeSettings;
331     }
332 
333     public String getFriendlyURL() {
334         return GetterUtil.getString(_friendlyURL);
335     }
336 
337     public void setFriendlyURL(String friendlyURL) {
338         _friendlyURL = friendlyURL;
339 
340         if (_originalFriendlyURL == null) {
341             _originalFriendlyURL = friendlyURL;
342         }
343     }
344 
345     public String getOriginalFriendlyURL() {
346         return GetterUtil.getString(_originalFriendlyURL);
347     }
348 
349     public boolean getActive() {
350         return _active;
351     }
352 
353     public boolean isActive() {
354         return _active;
355     }
356 
357     public void setActive(boolean active) {
358         _active = active;
359     }
360 
361     public Group toEscapedModel() {
362         if (isEscapedModel()) {
363             return (Group)this;
364         }
365         else {
366             Group model = new GroupImpl();
367 
368             model.setNew(isNew());
369             model.setEscapedModel(true);
370 
371             model.setGroupId(getGroupId());
372             model.setCompanyId(getCompanyId());
373             model.setCreatorUserId(getCreatorUserId());
374             model.setClassNameId(getClassNameId());
375             model.setClassPK(getClassPK());
376             model.setParentGroupId(getParentGroupId());
377             model.setLiveGroupId(getLiveGroupId());
378             model.setName(HtmlUtil.escape(getName()));
379             model.setDescription(HtmlUtil.escape(getDescription()));
380             model.setType(getType());
381             model.setTypeSettings(HtmlUtil.escape(getTypeSettings()));
382             model.setFriendlyURL(HtmlUtil.escape(getFriendlyURL()));
383             model.setActive(getActive());
384 
385             model = (Group)Proxy.newProxyInstance(Group.class.getClassLoader(),
386                     new Class[] { Group.class }, new ReadOnlyBeanHandler(model));
387 
388             return model;
389         }
390     }
391 
392     public ExpandoBridge getExpandoBridge() {
393         if (_expandoBridge == null) {
394             _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(Group.class.getName(),
395                     getPrimaryKey());
396         }
397 
398         return _expandoBridge;
399     }
400 
401     public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
402         getExpandoBridge().setAttributes(serviceContext);
403     }
404 
405     public Object clone() {
406         GroupImpl clone = new GroupImpl();
407 
408         clone.setGroupId(getGroupId());
409         clone.setCompanyId(getCompanyId());
410         clone.setCreatorUserId(getCreatorUserId());
411         clone.setClassNameId(getClassNameId());
412         clone.setClassPK(getClassPK());
413         clone.setParentGroupId(getParentGroupId());
414         clone.setLiveGroupId(getLiveGroupId());
415         clone.setName(getName());
416         clone.setDescription(getDescription());
417         clone.setType(getType());
418         clone.setTypeSettings(getTypeSettings());
419         clone.setFriendlyURL(getFriendlyURL());
420         clone.setActive(getActive());
421 
422         return clone;
423     }
424 
425     public int compareTo(Group group) {
426         int value = 0;
427 
428         value = getName().toLowerCase().compareTo(group.getName().toLowerCase());
429 
430         if (value != 0) {
431             return value;
432         }
433 
434         return 0;
435     }
436 
437     public boolean equals(Object obj) {
438         if (obj == null) {
439             return false;
440         }
441 
442         Group group = null;
443 
444         try {
445             group = (Group)obj;
446         }
447         catch (ClassCastException cce) {
448             return false;
449         }
450 
451         long pk = group.getPrimaryKey();
452 
453         if (getPrimaryKey() == pk) {
454             return true;
455         }
456         else {
457             return false;
458         }
459     }
460 
461     public int hashCode() {
462         return (int)getPrimaryKey();
463     }
464 
465     public String toString() {
466         StringBundler sb = new StringBundler(27);
467 
468         sb.append("{groupId=");
469         sb.append(getGroupId());
470         sb.append(", companyId=");
471         sb.append(getCompanyId());
472         sb.append(", creatorUserId=");
473         sb.append(getCreatorUserId());
474         sb.append(", classNameId=");
475         sb.append(getClassNameId());
476         sb.append(", classPK=");
477         sb.append(getClassPK());
478         sb.append(", parentGroupId=");
479         sb.append(getParentGroupId());
480         sb.append(", liveGroupId=");
481         sb.append(getLiveGroupId());
482         sb.append(", name=");
483         sb.append(getName());
484         sb.append(", description=");
485         sb.append(getDescription());
486         sb.append(", type=");
487         sb.append(getType());
488         sb.append(", typeSettings=");
489         sb.append(getTypeSettings());
490         sb.append(", friendlyURL=");
491         sb.append(getFriendlyURL());
492         sb.append(", active=");
493         sb.append(getActive());
494         sb.append("}");
495 
496         return sb.toString();
497     }
498 
499     public String toXmlString() {
500         StringBundler sb = new StringBundler(43);
501 
502         sb.append("<model><model-name>");
503         sb.append("com.liferay.portal.model.Group");
504         sb.append("</model-name>");
505 
506         sb.append(
507             "<column><column-name>groupId</column-name><column-value><![CDATA[");
508         sb.append(getGroupId());
509         sb.append("]]></column-value></column>");
510         sb.append(
511             "<column><column-name>companyId</column-name><column-value><![CDATA[");
512         sb.append(getCompanyId());
513         sb.append("]]></column-value></column>");
514         sb.append(
515             "<column><column-name>creatorUserId</column-name><column-value><![CDATA[");
516         sb.append(getCreatorUserId());
517         sb.append("]]></column-value></column>");
518         sb.append(
519             "<column><column-name>classNameId</column-name><column-value><![CDATA[");
520         sb.append(getClassNameId());
521         sb.append("]]></column-value></column>");
522         sb.append(
523             "<column><column-name>classPK</column-name><column-value><![CDATA[");
524         sb.append(getClassPK());
525         sb.append("]]></column-value></column>");
526         sb.append(
527             "<column><column-name>parentGroupId</column-name><column-value><![CDATA[");
528         sb.append(getParentGroupId());
529         sb.append("]]></column-value></column>");
530         sb.append(
531             "<column><column-name>liveGroupId</column-name><column-value><![CDATA[");
532         sb.append(getLiveGroupId());
533         sb.append("]]></column-value></column>");
534         sb.append(
535             "<column><column-name>name</column-name><column-value><![CDATA[");
536         sb.append(getName());
537         sb.append("]]></column-value></column>");
538         sb.append(
539             "<column><column-name>description</column-name><column-value><![CDATA[");
540         sb.append(getDescription());
541         sb.append("]]></column-value></column>");
542         sb.append(
543             "<column><column-name>type</column-name><column-value><![CDATA[");
544         sb.append(getType());
545         sb.append("]]></column-value></column>");
546         sb.append(
547             "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
548         sb.append(getTypeSettings());
549         sb.append("]]></column-value></column>");
550         sb.append(
551             "<column><column-name>friendlyURL</column-name><column-value><![CDATA[");
552         sb.append(getFriendlyURL());
553         sb.append("]]></column-value></column>");
554         sb.append(
555             "<column><column-name>active</column-name><column-value><![CDATA[");
556         sb.append(getActive());
557         sb.append("]]></column-value></column>");
558 
559         sb.append("</model>");
560 
561         return sb.toString();
562     }
563 
564     private long _groupId;
565     private long _companyId;
566     private long _originalCompanyId;
567     private boolean _setOriginalCompanyId;
568     private long _creatorUserId;
569     private String _creatorUserUuid;
570     private long _classNameId;
571     private long _originalClassNameId;
572     private boolean _setOriginalClassNameId;
573     private long _classPK;
574     private long _originalClassPK;
575     private boolean _setOriginalClassPK;
576     private long _parentGroupId;
577     private long _liveGroupId;
578     private long _originalLiveGroupId;
579     private boolean _setOriginalLiveGroupId;
580     private String _name;
581     private String _originalName;
582     private String _description;
583     private int _type;
584     private String _typeSettings;
585     private String _friendlyURL;
586     private String _originalFriendlyURL;
587     private boolean _active;
588     private transient ExpandoBridge _expandoBridge;
589 }