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 Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
070    
071            static {
072                    TABLE_COLUMNS_MAP.put("tableId", Types.BIGINT);
073                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
074                    TABLE_COLUMNS_MAP.put("classNameId", Types.BIGINT);
075                    TABLE_COLUMNS_MAP.put("name", Types.VARCHAR);
076            }
077    
078            public static final String TABLE_SQL_CREATE = "create table ExpandoTable (tableId LONG not null primary key,companyId LONG,classNameId LONG,name VARCHAR(75) null)";
079            public static final String TABLE_SQL_DROP = "drop table ExpandoTable";
080            public static final String ORDER_BY_JPQL = " ORDER BY expandoTable.tableId ASC";
081            public static final String ORDER_BY_SQL = " ORDER BY ExpandoTable.tableId ASC";
082            public static final String DATA_SOURCE = "liferayDataSource";
083            public static final String SESSION_FACTORY = "liferaySessionFactory";
084            public static final String TX_MANAGER = "liferayTransactionManager";
085            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
086                                    "value.object.entity.cache.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
087                            true);
088            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
089                                    "value.object.finder.cache.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
090                            true);
091            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
092                                    "value.object.column.bitmask.enabled.com.liferay.portlet.expando.model.ExpandoTable"),
093                            true);
094            public static final long CLASSNAMEID_COLUMN_BITMASK = 1L;
095            public static final long COMPANYID_COLUMN_BITMASK = 2L;
096            public static final long NAME_COLUMN_BITMASK = 4L;
097            public static final long TABLEID_COLUMN_BITMASK = 8L;
098            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
099                                    "lock.expiration.time.com.liferay.portlet.expando.model.ExpandoTable"));
100    
101            public ExpandoTableModelImpl() {
102            }
103    
104            @Override
105            public long getPrimaryKey() {
106                    return _tableId;
107            }
108    
109            @Override
110            public void setPrimaryKey(long primaryKey) {
111                    setTableId(primaryKey);
112            }
113    
114            @Override
115            public Serializable getPrimaryKeyObj() {
116                    return _tableId;
117            }
118    
119            @Override
120            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
121                    setPrimaryKey(((Long)primaryKeyObj).longValue());
122            }
123    
124            @Override
125            public Class<?> getModelClass() {
126                    return ExpandoTable.class;
127            }
128    
129            @Override
130            public String getModelClassName() {
131                    return ExpandoTable.class.getName();
132            }
133    
134            @Override
135            public Map<String, Object> getModelAttributes() {
136                    Map<String, Object> attributes = new HashMap<String, Object>();
137    
138                    attributes.put("tableId", getTableId());
139                    attributes.put("companyId", getCompanyId());
140                    attributes.put("classNameId", getClassNameId());
141                    attributes.put("name", getName());
142    
143                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
144                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
145    
146                    return attributes;
147            }
148    
149            @Override
150            public void setModelAttributes(Map<String, Object> attributes) {
151                    Long tableId = (Long)attributes.get("tableId");
152    
153                    if (tableId != null) {
154                            setTableId(tableId);
155                    }
156    
157                    Long companyId = (Long)attributes.get("companyId");
158    
159                    if (companyId != null) {
160                            setCompanyId(companyId);
161                    }
162    
163                    Long classNameId = (Long)attributes.get("classNameId");
164    
165                    if (classNameId != null) {
166                            setClassNameId(classNameId);
167                    }
168    
169                    String name = (String)attributes.get("name");
170    
171                    if (name != null) {
172                            setName(name);
173                    }
174            }
175    
176            @JSON
177            @Override
178            public long getTableId() {
179                    return _tableId;
180            }
181    
182            @Override
183            public void setTableId(long tableId) {
184                    _tableId = tableId;
185            }
186    
187            @JSON
188            @Override
189            public long getCompanyId() {
190                    return _companyId;
191            }
192    
193            @Override
194            public void setCompanyId(long companyId) {
195                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
196    
197                    if (!_setOriginalCompanyId) {
198                            _setOriginalCompanyId = true;
199    
200                            _originalCompanyId = _companyId;
201                    }
202    
203                    _companyId = companyId;
204            }
205    
206            public long getOriginalCompanyId() {
207                    return _originalCompanyId;
208            }
209    
210            @Override
211            public String getClassName() {
212                    if (getClassNameId() <= 0) {
213                            return StringPool.BLANK;
214                    }
215    
216                    return PortalUtil.getClassName(getClassNameId());
217            }
218    
219            @Override
220            public void setClassName(String className) {
221                    long classNameId = 0;
222    
223                    if (Validator.isNotNull(className)) {
224                            classNameId = PortalUtil.getClassNameId(className);
225                    }
226    
227                    setClassNameId(classNameId);
228            }
229    
230            @JSON
231            @Override
232            public long getClassNameId() {
233                    return _classNameId;
234            }
235    
236            @Override
237            public void setClassNameId(long classNameId) {
238                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
239    
240                    if (!_setOriginalClassNameId) {
241                            _setOriginalClassNameId = true;
242    
243                            _originalClassNameId = _classNameId;
244                    }
245    
246                    _classNameId = classNameId;
247            }
248    
249            public long getOriginalClassNameId() {
250                    return _originalClassNameId;
251            }
252    
253            @JSON
254            @Override
255            public String getName() {
256                    if (_name == null) {
257                            return StringPool.BLANK;
258                    }
259                    else {
260                            return _name;
261                    }
262            }
263    
264            @Override
265            public void setName(String name) {
266                    _columnBitmask |= NAME_COLUMN_BITMASK;
267    
268                    if (_originalName == null) {
269                            _originalName = _name;
270                    }
271    
272                    _name = name;
273            }
274    
275            public String getOriginalName() {
276                    return GetterUtil.getString(_originalName);
277            }
278    
279            public long getColumnBitmask() {
280                    return _columnBitmask;
281            }
282    
283            @Override
284            public ExpandoTable toEscapedModel() {
285                    if (_escapedModel == null) {
286                            _escapedModel = (ExpandoTable)ProxyUtil.newProxyInstance(_classLoader,
287                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
288                    }
289    
290                    return _escapedModel;
291            }
292    
293            @Override
294            public Object clone() {
295                    ExpandoTableImpl expandoTableImpl = new ExpandoTableImpl();
296    
297                    expandoTableImpl.setTableId(getTableId());
298                    expandoTableImpl.setCompanyId(getCompanyId());
299                    expandoTableImpl.setClassNameId(getClassNameId());
300                    expandoTableImpl.setName(getName());
301    
302                    expandoTableImpl.resetOriginalValues();
303    
304                    return expandoTableImpl;
305            }
306    
307            @Override
308            public int compareTo(ExpandoTable expandoTable) {
309                    long primaryKey = expandoTable.getPrimaryKey();
310    
311                    if (getPrimaryKey() < primaryKey) {
312                            return -1;
313                    }
314                    else if (getPrimaryKey() > primaryKey) {
315                            return 1;
316                    }
317                    else {
318                            return 0;
319                    }
320            }
321    
322            @Override
323            public boolean equals(Object obj) {
324                    if (this == obj) {
325                            return true;
326                    }
327    
328                    if (!(obj instanceof ExpandoTable)) {
329                            return false;
330                    }
331    
332                    ExpandoTable expandoTable = (ExpandoTable)obj;
333    
334                    long primaryKey = expandoTable.getPrimaryKey();
335    
336                    if (getPrimaryKey() == primaryKey) {
337                            return true;
338                    }
339                    else {
340                            return false;
341                    }
342            }
343    
344            @Override
345            public int hashCode() {
346                    return (int)getPrimaryKey();
347            }
348    
349            @Override
350            public boolean isEntityCacheEnabled() {
351                    return ENTITY_CACHE_ENABLED;
352            }
353    
354            @Override
355            public boolean isFinderCacheEnabled() {
356                    return FINDER_CACHE_ENABLED;
357            }
358    
359            @Override
360            public void resetOriginalValues() {
361                    ExpandoTableModelImpl expandoTableModelImpl = this;
362    
363                    expandoTableModelImpl._originalCompanyId = expandoTableModelImpl._companyId;
364    
365                    expandoTableModelImpl._setOriginalCompanyId = false;
366    
367                    expandoTableModelImpl._originalClassNameId = expandoTableModelImpl._classNameId;
368    
369                    expandoTableModelImpl._setOriginalClassNameId = false;
370    
371                    expandoTableModelImpl._originalName = expandoTableModelImpl._name;
372    
373                    expandoTableModelImpl._columnBitmask = 0;
374            }
375    
376            @Override
377            public CacheModel<ExpandoTable> toCacheModel() {
378                    ExpandoTableCacheModel expandoTableCacheModel = new ExpandoTableCacheModel();
379    
380                    expandoTableCacheModel.tableId = getTableId();
381    
382                    expandoTableCacheModel.companyId = getCompanyId();
383    
384                    expandoTableCacheModel.classNameId = getClassNameId();
385    
386                    expandoTableCacheModel.name = getName();
387    
388                    String name = expandoTableCacheModel.name;
389    
390                    if ((name != null) && (name.length() == 0)) {
391                            expandoTableCacheModel.name = null;
392                    }
393    
394                    return expandoTableCacheModel;
395            }
396    
397            @Override
398            public String toString() {
399                    StringBundler sb = new StringBundler(9);
400    
401                    sb.append("{tableId=");
402                    sb.append(getTableId());
403                    sb.append(", companyId=");
404                    sb.append(getCompanyId());
405                    sb.append(", classNameId=");
406                    sb.append(getClassNameId());
407                    sb.append(", name=");
408                    sb.append(getName());
409                    sb.append("}");
410    
411                    return sb.toString();
412            }
413    
414            @Override
415            public String toXmlString() {
416                    StringBundler sb = new StringBundler(16);
417    
418                    sb.append("<model><model-name>");
419                    sb.append("com.liferay.portlet.expando.model.ExpandoTable");
420                    sb.append("</model-name>");
421    
422                    sb.append(
423                            "<column><column-name>tableId</column-name><column-value><![CDATA[");
424                    sb.append(getTableId());
425                    sb.append("]]></column-value></column>");
426                    sb.append(
427                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
428                    sb.append(getCompanyId());
429                    sb.append("]]></column-value></column>");
430                    sb.append(
431                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
432                    sb.append(getClassNameId());
433                    sb.append("]]></column-value></column>");
434                    sb.append(
435                            "<column><column-name>name</column-name><column-value><![CDATA[");
436                    sb.append(getName());
437                    sb.append("]]></column-value></column>");
438    
439                    sb.append("</model>");
440    
441                    return sb.toString();
442            }
443    
444            private static final ClassLoader _classLoader = ExpandoTable.class.getClassLoader();
445            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
446                            ExpandoTable.class
447                    };
448            private long _tableId;
449            private long _companyId;
450            private long _originalCompanyId;
451            private boolean _setOriginalCompanyId;
452            private long _classNameId;
453            private long _originalClassNameId;
454            private boolean _setOriginalClassNameId;
455            private String _name;
456            private String _originalName;
457            private long _columnBitmask;
458            private ExpandoTable _escapedModel;
459    }