001    /**
002     * Copyright (c) 2000-present 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.portlet.expando.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.json.JSON;
021    import com.liferay.portal.kernel.util.GetterUtil;
022    import com.liferay.portal.kernel.util.ProxyUtil;
023    import com.liferay.portal.kernel.util.StringBundler;
024    import com.liferay.portal.kernel.util.StringPool;
025    import com.liferay.portal.kernel.util.Validator;
026    import com.liferay.portal.model.CacheModel;
027    import com.liferay.portal.model.impl.BaseModelImpl;
028    import com.liferay.portal.util.PortalUtil;
029    
030    import com.liferay.portlet.expando.model.ExpandoTable;
031    import com.liferay.portlet.expando.model.ExpandoTableModel;
032    
033    import java.io.Serializable;
034    
035    import java.sql.Types;
036    
037    import java.util.HashMap;
038    import java.util.Map;
039    
040    /**
041     * The base model implementation for the ExpandoTable service. Represents a row in the "ExpandoTable" database table, with each column mapped to a property of this class.
042     *
043     * <p>
044     * This implementation and its corresponding interface {@link ExpandoTableModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ExpandoTableImpl}.
045     * </p>
046     *
047     * @author Brian Wing Shun Chan
048     * @see ExpandoTableImpl
049     * @see ExpandoTable
050     * @see ExpandoTableModel
051     * @generated
052     */
053    @JSON(strict = true)
054    @ProviderType
055    public class ExpandoTableModelImpl extends BaseModelImpl<ExpandoTable>
056            implements ExpandoTableModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a expando table model instance should use the {@link ExpandoTable} interface instead.
061             */
062            public static final String TABLE_NAME = "ExpandoTable";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "tableId", Types.BIGINT },
065                            { "companyId", Types.BIGINT },
066                            { "classNameId", Types.BIGINT },
067                            { "name", Types.VARCHAR }
068                    };
069            public static final String TABLE_SQL_CREATE = "create table ExpandoTable (tableId LONG not null primary key,companyId LONG,classNameId LONG,name VARCHAR(75) null)";
070            public static final String TABLE_SQL_DROP = "drop table ExpandoTable";
071            public static final String ORDER_BY_JPQL = " ORDER BY expandoTable.tableId ASC";
072            public static final String ORDER_BY_SQL = " ORDER BY ExpandoTable.tableId ASC";
073            public static final String DATA_SOURCE = "liferayDataSource";
074            public static final String SESSION_FACTORY = "liferaySessionFactory";
075            public static final String TX_MANAGER = "liferayTransactionManager";
076            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
077                                    "value.object.entity.cache.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
078                            true);
079            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
080                                    "value.object.finder.cache.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
081                            true);
082            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
083                                    "value.object.column.bitmask.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
084                            true);
085            public static final long CLASSNAMEID_COLUMN_BITMASK = 1L;
086            public static final long COMPANYID_COLUMN_BITMASK = 2L;
087            public static final long NAME_COLUMN_BITMASK = 4L;
088            public static final long TABLEID_COLUMN_BITMASK = 8L;
089            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
090                                    "lock.expiration.time.com.liferay.portlet.expando.model.ExpandoTable"));
091    
092            public ExpandoTableModelImpl() {
093            }
094    
095            @Override
096            public long getPrimaryKey() {
097                    return _tableId;
098            }
099    
100            @Override
101            public void setPrimaryKey(long primaryKey) {
102                    setTableId(primaryKey);
103            }
104    
105            @Override
106            public Serializable getPrimaryKeyObj() {
107                    return _tableId;
108            }
109    
110            @Override
111            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
112                    setPrimaryKey(((Long)primaryKeyObj).longValue());
113            }
114    
115            @Override
116            public Class<?> getModelClass() {
117                    return ExpandoTable.class;
118            }
119    
120            @Override
121            public String getModelClassName() {
122                    return ExpandoTable.class.getName();
123            }
124    
125            @Override
126            public Map<String, Object> getModelAttributes() {
127                    Map<String, Object> attributes = new HashMap<String, Object>();
128    
129                    attributes.put("tableId", getTableId());
130                    attributes.put("companyId", getCompanyId());
131                    attributes.put("classNameId", getClassNameId());
132                    attributes.put("name", getName());
133    
134                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
135                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
136    
137                    return attributes;
138            }
139    
140            @Override
141            public void setModelAttributes(Map<String, Object> attributes) {
142                    Long tableId = (Long)attributes.get("tableId");
143    
144                    if (tableId != null) {
145                            setTableId(tableId);
146                    }
147    
148                    Long companyId = (Long)attributes.get("companyId");
149    
150                    if (companyId != null) {
151                            setCompanyId(companyId);
152                    }
153    
154                    Long classNameId = (Long)attributes.get("classNameId");
155    
156                    if (classNameId != null) {
157                            setClassNameId(classNameId);
158                    }
159    
160                    String name = (String)attributes.get("name");
161    
162                    if (name != null) {
163                            setName(name);
164                    }
165            }
166    
167            @JSON
168            @Override
169            public long getTableId() {
170                    return _tableId;
171            }
172    
173            @Override
174            public void setTableId(long tableId) {
175                    _tableId = tableId;
176            }
177    
178            @JSON
179            @Override
180            public long getCompanyId() {
181                    return _companyId;
182            }
183    
184            @Override
185            public void setCompanyId(long companyId) {
186                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
187    
188                    if (!_setOriginalCompanyId) {
189                            _setOriginalCompanyId = true;
190    
191                            _originalCompanyId = _companyId;
192                    }
193    
194                    _companyId = companyId;
195            }
196    
197            public long getOriginalCompanyId() {
198                    return _originalCompanyId;
199            }
200    
201            @Override
202            public String getClassName() {
203                    if (getClassNameId() <= 0) {
204                            return StringPool.BLANK;
205                    }
206    
207                    return PortalUtil.getClassName(getClassNameId());
208            }
209    
210            @Override
211            public void setClassName(String className) {
212                    long classNameId = 0;
213    
214                    if (Validator.isNotNull(className)) {
215                            classNameId = PortalUtil.getClassNameId(className);
216                    }
217    
218                    setClassNameId(classNameId);
219            }
220    
221            @JSON
222            @Override
223            public long getClassNameId() {
224                    return _classNameId;
225            }
226    
227            @Override
228            public void setClassNameId(long classNameId) {
229                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
230    
231                    if (!_setOriginalClassNameId) {
232                            _setOriginalClassNameId = true;
233    
234                            _originalClassNameId = _classNameId;
235                    }
236    
237                    _classNameId = classNameId;
238            }
239    
240            public long getOriginalClassNameId() {
241                    return _originalClassNameId;
242            }
243    
244            @JSON
245            @Override
246            public String getName() {
247                    if (_name == null) {
248                            return StringPool.BLANK;
249                    }
250                    else {
251                            return _name;
252                    }
253            }
254    
255            @Override
256            public void setName(String name) {
257                    _columnBitmask |= NAME_COLUMN_BITMASK;
258    
259                    if (_originalName == null) {
260                            _originalName = _name;
261                    }
262    
263                    _name = name;
264            }
265    
266            public String getOriginalName() {
267                    return GetterUtil.getString(_originalName);
268            }
269    
270            public long getColumnBitmask() {
271                    return _columnBitmask;
272            }
273    
274            @Override
275            public ExpandoTable toEscapedModel() {
276                    if (_escapedModel == null) {
277                            _escapedModel = (ExpandoTable)ProxyUtil.newProxyInstance(_classLoader,
278                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
279                    }
280    
281                    return _escapedModel;
282            }
283    
284            @Override
285            public Object clone() {
286                    ExpandoTableImpl expandoTableImpl = new ExpandoTableImpl();
287    
288                    expandoTableImpl.setTableId(getTableId());
289                    expandoTableImpl.setCompanyId(getCompanyId());
290                    expandoTableImpl.setClassNameId(getClassNameId());
291                    expandoTableImpl.setName(getName());
292    
293                    expandoTableImpl.resetOriginalValues();
294    
295                    return expandoTableImpl;
296            }
297    
298            @Override
299            public int compareTo(ExpandoTable expandoTable) {
300                    long primaryKey = expandoTable.getPrimaryKey();
301    
302                    if (getPrimaryKey() < primaryKey) {
303                            return -1;
304                    }
305                    else if (getPrimaryKey() > primaryKey) {
306                            return 1;
307                    }
308                    else {
309                            return 0;
310                    }
311            }
312    
313            @Override
314            public boolean equals(Object obj) {
315                    if (this == obj) {
316                            return true;
317                    }
318    
319                    if (!(obj instanceof ExpandoTable)) {
320                            return false;
321                    }
322    
323                    ExpandoTable expandoTable = (ExpandoTable)obj;
324    
325                    long primaryKey = expandoTable.getPrimaryKey();
326    
327                    if (getPrimaryKey() == primaryKey) {
328                            return true;
329                    }
330                    else {
331                            return false;
332                    }
333            }
334    
335            @Override
336            public int hashCode() {
337                    return (int)getPrimaryKey();
338            }
339    
340            @Override
341            public boolean isEntityCacheEnabled() {
342                    return ENTITY_CACHE_ENABLED;
343            }
344    
345            @Override
346            public boolean isFinderCacheEnabled() {
347                    return FINDER_CACHE_ENABLED;
348            }
349    
350            @Override
351            public void resetOriginalValues() {
352                    ExpandoTableModelImpl expandoTableModelImpl = this;
353    
354                    expandoTableModelImpl._originalCompanyId = expandoTableModelImpl._companyId;
355    
356                    expandoTableModelImpl._setOriginalCompanyId = false;
357    
358                    expandoTableModelImpl._originalClassNameId = expandoTableModelImpl._classNameId;
359    
360                    expandoTableModelImpl._setOriginalClassNameId = false;
361    
362                    expandoTableModelImpl._originalName = expandoTableModelImpl._name;
363    
364                    expandoTableModelImpl._columnBitmask = 0;
365            }
366    
367            @Override
368            public CacheModel<ExpandoTable> toCacheModel() {
369                    ExpandoTableCacheModel expandoTableCacheModel = new ExpandoTableCacheModel();
370    
371                    expandoTableCacheModel.tableId = getTableId();
372    
373                    expandoTableCacheModel.companyId = getCompanyId();
374    
375                    expandoTableCacheModel.classNameId = getClassNameId();
376    
377                    expandoTableCacheModel.name = getName();
378    
379                    String name = expandoTableCacheModel.name;
380    
381                    if ((name != null) && (name.length() == 0)) {
382                            expandoTableCacheModel.name = null;
383                    }
384    
385                    return expandoTableCacheModel;
386            }
387    
388            @Override
389            public String toString() {
390                    StringBundler sb = new StringBundler(9);
391    
392                    sb.append("{tableId=");
393                    sb.append(getTableId());
394                    sb.append(", companyId=");
395                    sb.append(getCompanyId());
396                    sb.append(", classNameId=");
397                    sb.append(getClassNameId());
398                    sb.append(", name=");
399                    sb.append(getName());
400                    sb.append("}");
401    
402                    return sb.toString();
403            }
404    
405            @Override
406            public String toXmlString() {
407                    StringBundler sb = new StringBundler(16);
408    
409                    sb.append("<model><model-name>");
410                    sb.append("com.liferay.portlet.expando.model.ExpandoTable");
411                    sb.append("</model-name>");
412    
413                    sb.append(
414                            "<column><column-name>tableId</column-name><column-value><![CDATA[");
415                    sb.append(getTableId());
416                    sb.append("]]></column-value></column>");
417                    sb.append(
418                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
419                    sb.append(getCompanyId());
420                    sb.append("]]></column-value></column>");
421                    sb.append(
422                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
423                    sb.append(getClassNameId());
424                    sb.append("]]></column-value></column>");
425                    sb.append(
426                            "<column><column-name>name</column-name><column-value><![CDATA[");
427                    sb.append(getName());
428                    sb.append("]]></column-value></column>");
429    
430                    sb.append("</model>");
431    
432                    return sb.toString();
433            }
434    
435            private static final ClassLoader _classLoader = ExpandoTable.class.getClassLoader();
436            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
437                            ExpandoTable.class
438                    };
439            private long _tableId;
440            private long _companyId;
441            private long _originalCompanyId;
442            private boolean _setOriginalCompanyId;
443            private long _classNameId;
444            private long _originalClassNameId;
445            private boolean _setOriginalClassNameId;
446            private String _name;
447            private String _originalName;
448            private long _columnBitmask;
449            private ExpandoTable _escapedModel;
450    }