001    /**
002     * Copyright (c) 2000-2013 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.Organization;
025    import com.liferay.portal.model.OrganizationModel;
026    import com.liferay.portal.model.OrganizationSoap;
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 Organization service. Represents a row in the "Organization_" 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.OrganizationModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link OrganizationImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see OrganizationImpl
050     * @see com.liferay.portal.model.Organization
051     * @see com.liferay.portal.model.OrganizationModel
052     * @generated
053     */
054    @JSON(strict = true)
055    public class OrganizationModelImpl extends BaseModelImpl<Organization>
056            implements OrganizationModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a organization model instance should use the {@link com.liferay.portal.model.Organization} interface instead.
061             */
062            public static final String TABLE_NAME = "Organization_";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "organizationId", Types.BIGINT },
065                            { "companyId", Types.BIGINT },
066                            { "parentOrganizationId", Types.BIGINT },
067                            { "treePath", Types.VARCHAR },
068                            { "name", Types.VARCHAR },
069                            { "type_", Types.VARCHAR },
070                            { "recursable", Types.BOOLEAN },
071                            { "regionId", Types.BIGINT },
072                            { "countryId", Types.BIGINT },
073                            { "statusId", Types.INTEGER },
074                            { "comments", Types.VARCHAR }
075                    };
076            public static final String TABLE_SQL_CREATE = "create table Organization_ (organizationId LONG not null primary key,companyId LONG,parentOrganizationId LONG,treePath STRING null,name VARCHAR(100) null,type_ VARCHAR(75) null,recursable BOOLEAN,regionId LONG,countryId LONG,statusId INTEGER,comments STRING null)";
077            public static final String TABLE_SQL_DROP = "drop table Organization_";
078            public static final String ORDER_BY_JPQL = " ORDER BY organization.name ASC";
079            public static final String ORDER_BY_SQL = " ORDER BY Organization_.name ASC";
080            public static final String DATA_SOURCE = "liferayDataSource";
081            public static final String SESSION_FACTORY = "liferaySessionFactory";
082            public static final String TX_MANAGER = "liferayTransactionManager";
083            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
084                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Organization"),
085                            true);
086            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
087                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Organization"),
088                            true);
089            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
090                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Organization"),
091                            true);
092            public static long COMPANYID_COLUMN_BITMASK = 1L;
093            public static long NAME_COLUMN_BITMASK = 2L;
094            public static long PARENTORGANIZATIONID_COLUMN_BITMASK = 4L;
095    
096            /**
097             * Converts the soap model instance into a normal model instance.
098             *
099             * @param soapModel the soap model instance to convert
100             * @return the normal model instance
101             */
102            public static Organization toModel(OrganizationSoap soapModel) {
103                    if (soapModel == null) {
104                            return null;
105                    }
106    
107                    Organization model = new OrganizationImpl();
108    
109                    model.setOrganizationId(soapModel.getOrganizationId());
110                    model.setCompanyId(soapModel.getCompanyId());
111                    model.setParentOrganizationId(soapModel.getParentOrganizationId());
112                    model.setTreePath(soapModel.getTreePath());
113                    model.setName(soapModel.getName());
114                    model.setType(soapModel.getType());
115                    model.setRecursable(soapModel.getRecursable());
116                    model.setRegionId(soapModel.getRegionId());
117                    model.setCountryId(soapModel.getCountryId());
118                    model.setStatusId(soapModel.getStatusId());
119                    model.setComments(soapModel.getComments());
120    
121                    return model;
122            }
123    
124            /**
125             * Converts the soap model instances into normal model instances.
126             *
127             * @param soapModels the soap model instances to convert
128             * @return the normal model instances
129             */
130            public static List<Organization> toModels(OrganizationSoap[] soapModels) {
131                    if (soapModels == null) {
132                            return null;
133                    }
134    
135                    List<Organization> models = new ArrayList<Organization>(soapModels.length);
136    
137                    for (OrganizationSoap soapModel : soapModels) {
138                            models.add(toModel(soapModel));
139                    }
140    
141                    return models;
142            }
143    
144            public static final String MAPPING_TABLE_GROUPS_ORGS_NAME = "Groups_Orgs";
145            public static final Object[][] MAPPING_TABLE_GROUPS_ORGS_COLUMNS = {
146                            { "groupId", Types.BIGINT },
147                            { "organizationId", Types.BIGINT }
148                    };
149            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))";
150            public static final boolean FINDER_CACHE_ENABLED_GROUPS_ORGS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
151                                    "value.object.finder.cache.enabled.Groups_Orgs"), true);
152            public static final String MAPPING_TABLE_USERS_ORGS_NAME = "Users_Orgs";
153            public static final Object[][] MAPPING_TABLE_USERS_ORGS_COLUMNS = {
154                            { "userId", Types.BIGINT },
155                            { "organizationId", Types.BIGINT }
156                    };
157            public static final String MAPPING_TABLE_USERS_ORGS_SQL_CREATE = "create table Users_Orgs (organizationId LONG not null,userId LONG not null,primary key (organizationId, userId))";
158            public static final boolean FINDER_CACHE_ENABLED_USERS_ORGS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
159                                    "value.object.finder.cache.enabled.Users_Orgs"), true);
160            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
161                                    "lock.expiration.time.com.liferay.portal.model.Organization"));
162    
163            public OrganizationModelImpl() {
164            }
165    
166            public long getPrimaryKey() {
167                    return _organizationId;
168            }
169    
170            public void setPrimaryKey(long primaryKey) {
171                    setOrganizationId(primaryKey);
172            }
173    
174            public Serializable getPrimaryKeyObj() {
175                    return new Long(_organizationId);
176            }
177    
178            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
179                    setPrimaryKey(((Long)primaryKeyObj).longValue());
180            }
181    
182            public Class<?> getModelClass() {
183                    return Organization.class;
184            }
185    
186            public String getModelClassName() {
187                    return Organization.class.getName();
188            }
189    
190            @Override
191            public Map<String, Object> getModelAttributes() {
192                    Map<String, Object> attributes = new HashMap<String, Object>();
193    
194                    attributes.put("organizationId", getOrganizationId());
195                    attributes.put("companyId", getCompanyId());
196                    attributes.put("parentOrganizationId", getParentOrganizationId());
197                    attributes.put("treePath", getTreePath());
198                    attributes.put("name", getName());
199                    attributes.put("type", getType());
200                    attributes.put("recursable", getRecursable());
201                    attributes.put("regionId", getRegionId());
202                    attributes.put("countryId", getCountryId());
203                    attributes.put("statusId", getStatusId());
204                    attributes.put("comments", getComments());
205    
206                    return attributes;
207            }
208    
209            @Override
210            public void setModelAttributes(Map<String, Object> attributes) {
211                    Long organizationId = (Long)attributes.get("organizationId");
212    
213                    if (organizationId != null) {
214                            setOrganizationId(organizationId);
215                    }
216    
217                    Long companyId = (Long)attributes.get("companyId");
218    
219                    if (companyId != null) {
220                            setCompanyId(companyId);
221                    }
222    
223                    Long parentOrganizationId = (Long)attributes.get("parentOrganizationId");
224    
225                    if (parentOrganizationId != null) {
226                            setParentOrganizationId(parentOrganizationId);
227                    }
228    
229                    String treePath = (String)attributes.get("treePath");
230    
231                    if (treePath != null) {
232                            setTreePath(treePath);
233                    }
234    
235                    String name = (String)attributes.get("name");
236    
237                    if (name != null) {
238                            setName(name);
239                    }
240    
241                    String type = (String)attributes.get("type");
242    
243                    if (type != null) {
244                            setType(type);
245                    }
246    
247                    Boolean recursable = (Boolean)attributes.get("recursable");
248    
249                    if (recursable != null) {
250                            setRecursable(recursable);
251                    }
252    
253                    Long regionId = (Long)attributes.get("regionId");
254    
255                    if (regionId != null) {
256                            setRegionId(regionId);
257                    }
258    
259                    Long countryId = (Long)attributes.get("countryId");
260    
261                    if (countryId != null) {
262                            setCountryId(countryId);
263                    }
264    
265                    Integer statusId = (Integer)attributes.get("statusId");
266    
267                    if (statusId != null) {
268                            setStatusId(statusId);
269                    }
270    
271                    String comments = (String)attributes.get("comments");
272    
273                    if (comments != null) {
274                            setComments(comments);
275                    }
276            }
277    
278            @JSON
279            public long getOrganizationId() {
280                    return _organizationId;
281            }
282    
283            public void setOrganizationId(long organizationId) {
284                    _organizationId = organizationId;
285            }
286    
287            @JSON
288            public long getCompanyId() {
289                    return _companyId;
290            }
291    
292            public void setCompanyId(long companyId) {
293                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
294    
295                    if (!_setOriginalCompanyId) {
296                            _setOriginalCompanyId = true;
297    
298                            _originalCompanyId = _companyId;
299                    }
300    
301                    _companyId = companyId;
302            }
303    
304            public long getOriginalCompanyId() {
305                    return _originalCompanyId;
306            }
307    
308            @JSON
309            public long getParentOrganizationId() {
310                    return _parentOrganizationId;
311            }
312    
313            public void setParentOrganizationId(long parentOrganizationId) {
314                    _columnBitmask |= PARENTORGANIZATIONID_COLUMN_BITMASK;
315    
316                    if (!_setOriginalParentOrganizationId) {
317                            _setOriginalParentOrganizationId = true;
318    
319                            _originalParentOrganizationId = _parentOrganizationId;
320                    }
321    
322                    _parentOrganizationId = parentOrganizationId;
323            }
324    
325            public long getOriginalParentOrganizationId() {
326                    return _originalParentOrganizationId;
327            }
328    
329            @JSON
330            public String getTreePath() {
331                    if (_treePath == null) {
332                            return StringPool.BLANK;
333                    }
334                    else {
335                            return _treePath;
336                    }
337            }
338    
339            public void setTreePath(String treePath) {
340                    _treePath = treePath;
341            }
342    
343            @JSON
344            public String getName() {
345                    if (_name == null) {
346                            return StringPool.BLANK;
347                    }
348                    else {
349                            return _name;
350                    }
351            }
352    
353            public void setName(String name) {
354                    _columnBitmask = -1L;
355    
356                    if (_originalName == null) {
357                            _originalName = _name;
358                    }
359    
360                    _name = name;
361            }
362    
363            public String getOriginalName() {
364                    return GetterUtil.getString(_originalName);
365            }
366    
367            @JSON
368            public String getType() {
369                    if (_type == null) {
370                            return StringPool.BLANK;
371                    }
372                    else {
373                            return _type;
374                    }
375            }
376    
377            public void setType(String type) {
378                    _type = type;
379            }
380    
381            @JSON
382            public boolean getRecursable() {
383                    return _recursable;
384            }
385    
386            public boolean isRecursable() {
387                    return _recursable;
388            }
389    
390            public void setRecursable(boolean recursable) {
391                    _recursable = recursable;
392            }
393    
394            @JSON
395            public long getRegionId() {
396                    return _regionId;
397            }
398    
399            public void setRegionId(long regionId) {
400                    _regionId = regionId;
401            }
402    
403            @JSON
404            public long getCountryId() {
405                    return _countryId;
406            }
407    
408            public void setCountryId(long countryId) {
409                    _countryId = countryId;
410            }
411    
412            @JSON
413            public int getStatusId() {
414                    return _statusId;
415            }
416    
417            public void setStatusId(int statusId) {
418                    _statusId = statusId;
419            }
420    
421            @JSON
422            public String getComments() {
423                    if (_comments == null) {
424                            return StringPool.BLANK;
425                    }
426                    else {
427                            return _comments;
428                    }
429            }
430    
431            public void setComments(String comments) {
432                    _comments = comments;
433            }
434    
435            public long getColumnBitmask() {
436                    return _columnBitmask;
437            }
438    
439            @Override
440            public ExpandoBridge getExpandoBridge() {
441                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
442                            Organization.class.getName(), getPrimaryKey());
443            }
444    
445            @Override
446            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
447                    ExpandoBridge expandoBridge = getExpandoBridge();
448    
449                    expandoBridge.setAttributes(serviceContext);
450            }
451    
452            @Override
453            public Organization toEscapedModel() {
454                    if (_escapedModel == null) {
455                            _escapedModel = (Organization)ProxyUtil.newProxyInstance(_classLoader,
456                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
457                    }
458    
459                    return _escapedModel;
460            }
461    
462            public Organization toUnescapedModel() {
463                    return (Organization)this;
464            }
465    
466            @Override
467            public Object clone() {
468                    OrganizationImpl organizationImpl = new OrganizationImpl();
469    
470                    organizationImpl.setOrganizationId(getOrganizationId());
471                    organizationImpl.setCompanyId(getCompanyId());
472                    organizationImpl.setParentOrganizationId(getParentOrganizationId());
473                    organizationImpl.setTreePath(getTreePath());
474                    organizationImpl.setName(getName());
475                    organizationImpl.setType(getType());
476                    organizationImpl.setRecursable(getRecursable());
477                    organizationImpl.setRegionId(getRegionId());
478                    organizationImpl.setCountryId(getCountryId());
479                    organizationImpl.setStatusId(getStatusId());
480                    organizationImpl.setComments(getComments());
481    
482                    organizationImpl.resetOriginalValues();
483    
484                    return organizationImpl;
485            }
486    
487            public int compareTo(Organization organization) {
488                    int value = 0;
489    
490                    value = getName().compareTo(organization.getName());
491    
492                    if (value != 0) {
493                            return value;
494                    }
495    
496                    return 0;
497            }
498    
499            @Override
500            public boolean equals(Object obj) {
501                    if (this == obj) {
502                            return true;
503                    }
504    
505                    if (!(obj instanceof Organization)) {
506                            return false;
507                    }
508    
509                    Organization organization = (Organization)obj;
510    
511                    long primaryKey = organization.getPrimaryKey();
512    
513                    if (getPrimaryKey() == primaryKey) {
514                            return true;
515                    }
516                    else {
517                            return false;
518                    }
519            }
520    
521            @Override
522            public int hashCode() {
523                    return (int)getPrimaryKey();
524            }
525    
526            @Override
527            public void resetOriginalValues() {
528                    OrganizationModelImpl organizationModelImpl = this;
529    
530                    organizationModelImpl._originalCompanyId = organizationModelImpl._companyId;
531    
532                    organizationModelImpl._setOriginalCompanyId = false;
533    
534                    organizationModelImpl._originalParentOrganizationId = organizationModelImpl._parentOrganizationId;
535    
536                    organizationModelImpl._setOriginalParentOrganizationId = false;
537    
538                    organizationModelImpl._originalName = organizationModelImpl._name;
539    
540                    organizationModelImpl._columnBitmask = 0;
541            }
542    
543            @Override
544            public CacheModel<Organization> toCacheModel() {
545                    OrganizationCacheModel organizationCacheModel = new OrganizationCacheModel();
546    
547                    organizationCacheModel.organizationId = getOrganizationId();
548    
549                    organizationCacheModel.companyId = getCompanyId();
550    
551                    organizationCacheModel.parentOrganizationId = getParentOrganizationId();
552    
553                    organizationCacheModel.treePath = getTreePath();
554    
555                    String treePath = organizationCacheModel.treePath;
556    
557                    if ((treePath != null) && (treePath.length() == 0)) {
558                            organizationCacheModel.treePath = null;
559                    }
560    
561                    organizationCacheModel.name = getName();
562    
563                    String name = organizationCacheModel.name;
564    
565                    if ((name != null) && (name.length() == 0)) {
566                            organizationCacheModel.name = null;
567                    }
568    
569                    organizationCacheModel.type = getType();
570    
571                    String type = organizationCacheModel.type;
572    
573                    if ((type != null) && (type.length() == 0)) {
574                            organizationCacheModel.type = null;
575                    }
576    
577                    organizationCacheModel.recursable = getRecursable();
578    
579                    organizationCacheModel.regionId = getRegionId();
580    
581                    organizationCacheModel.countryId = getCountryId();
582    
583                    organizationCacheModel.statusId = getStatusId();
584    
585                    organizationCacheModel.comments = getComments();
586    
587                    String comments = organizationCacheModel.comments;
588    
589                    if ((comments != null) && (comments.length() == 0)) {
590                            organizationCacheModel.comments = null;
591                    }
592    
593                    return organizationCacheModel;
594            }
595    
596            @Override
597            public String toString() {
598                    StringBundler sb = new StringBundler(23);
599    
600                    sb.append("{organizationId=");
601                    sb.append(getOrganizationId());
602                    sb.append(", companyId=");
603                    sb.append(getCompanyId());
604                    sb.append(", parentOrganizationId=");
605                    sb.append(getParentOrganizationId());
606                    sb.append(", treePath=");
607                    sb.append(getTreePath());
608                    sb.append(", name=");
609                    sb.append(getName());
610                    sb.append(", type=");
611                    sb.append(getType());
612                    sb.append(", recursable=");
613                    sb.append(getRecursable());
614                    sb.append(", regionId=");
615                    sb.append(getRegionId());
616                    sb.append(", countryId=");
617                    sb.append(getCountryId());
618                    sb.append(", statusId=");
619                    sb.append(getStatusId());
620                    sb.append(", comments=");
621                    sb.append(getComments());
622                    sb.append("}");
623    
624                    return sb.toString();
625            }
626    
627            public String toXmlString() {
628                    StringBundler sb = new StringBundler(37);
629    
630                    sb.append("<model><model-name>");
631                    sb.append("com.liferay.portal.model.Organization");
632                    sb.append("</model-name>");
633    
634                    sb.append(
635                            "<column><column-name>organizationId</column-name><column-value><![CDATA[");
636                    sb.append(getOrganizationId());
637                    sb.append("]]></column-value></column>");
638                    sb.append(
639                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
640                    sb.append(getCompanyId());
641                    sb.append("]]></column-value></column>");
642                    sb.append(
643                            "<column><column-name>parentOrganizationId</column-name><column-value><![CDATA[");
644                    sb.append(getParentOrganizationId());
645                    sb.append("]]></column-value></column>");
646                    sb.append(
647                            "<column><column-name>treePath</column-name><column-value><![CDATA[");
648                    sb.append(getTreePath());
649                    sb.append("]]></column-value></column>");
650                    sb.append(
651                            "<column><column-name>name</column-name><column-value><![CDATA[");
652                    sb.append(getName());
653                    sb.append("]]></column-value></column>");
654                    sb.append(
655                            "<column><column-name>type</column-name><column-value><![CDATA[");
656                    sb.append(getType());
657                    sb.append("]]></column-value></column>");
658                    sb.append(
659                            "<column><column-name>recursable</column-name><column-value><![CDATA[");
660                    sb.append(getRecursable());
661                    sb.append("]]></column-value></column>");
662                    sb.append(
663                            "<column><column-name>regionId</column-name><column-value><![CDATA[");
664                    sb.append(getRegionId());
665                    sb.append("]]></column-value></column>");
666                    sb.append(
667                            "<column><column-name>countryId</column-name><column-value><![CDATA[");
668                    sb.append(getCountryId());
669                    sb.append("]]></column-value></column>");
670                    sb.append(
671                            "<column><column-name>statusId</column-name><column-value><![CDATA[");
672                    sb.append(getStatusId());
673                    sb.append("]]></column-value></column>");
674                    sb.append(
675                            "<column><column-name>comments</column-name><column-value><![CDATA[");
676                    sb.append(getComments());
677                    sb.append("]]></column-value></column>");
678    
679                    sb.append("</model>");
680    
681                    return sb.toString();
682            }
683    
684            private static ClassLoader _classLoader = Organization.class.getClassLoader();
685            private static Class<?>[] _escapedModelInterfaces = new Class[] {
686                            Organization.class
687                    };
688            private long _organizationId;
689            private long _companyId;
690            private long _originalCompanyId;
691            private boolean _setOriginalCompanyId;
692            private long _parentOrganizationId;
693            private long _originalParentOrganizationId;
694            private boolean _setOriginalParentOrganizationId;
695            private String _treePath;
696            private String _name;
697            private String _originalName;
698            private String _type;
699            private boolean _recursable;
700            private long _regionId;
701            private long _countryId;
702            private int _statusId;
703            private String _comments;
704            private long _columnBitmask;
705            private Organization _escapedModel;
706    }