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.model.CacheModel;
026    import com.liferay.portal.model.impl.BaseModelImpl;
027    
028    import com.liferay.portlet.expando.model.ExpandoColumn;
029    import com.liferay.portlet.expando.model.ExpandoColumnModel;
030    import com.liferay.portlet.expando.model.ExpandoColumnSoap;
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 ExpandoColumn service. Represents a row in the "ExpandoColumn" database table, with each column mapped to a property of this class.
043     *
044     * <p>
045     * This implementation and its corresponding interface {@link ExpandoColumnModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ExpandoColumnImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see ExpandoColumnImpl
050     * @see ExpandoColumn
051     * @see ExpandoColumnModel
052     * @generated
053     */
054    @JSON(strict = true)
055    @ProviderType
056    public class ExpandoColumnModelImpl extends BaseModelImpl<ExpandoColumn>
057            implements ExpandoColumnModel {
058            /*
059             * NOTE FOR DEVELOPERS:
060             *
061             * Never modify or reference this class directly. All methods that expect a expando column model instance should use the {@link ExpandoColumn} interface instead.
062             */
063            public static final String TABLE_NAME = "ExpandoColumn";
064            public static final Object[][] TABLE_COLUMNS = {
065                            { "columnId", Types.BIGINT },
066                            { "companyId", Types.BIGINT },
067                            { "tableId", Types.BIGINT },
068                            { "name", Types.VARCHAR },
069                            { "type_", Types.INTEGER },
070                            { "defaultData", Types.CLOB },
071                            { "typeSettings", Types.CLOB }
072                    };
073            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
074    
075            static {
076                    TABLE_COLUMNS_MAP.put("columnId", Types.BIGINT);
077                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
078                    TABLE_COLUMNS_MAP.put("tableId", Types.BIGINT);
079                    TABLE_COLUMNS_MAP.put("name", Types.VARCHAR);
080                    TABLE_COLUMNS_MAP.put("type_", Types.INTEGER);
081                    TABLE_COLUMNS_MAP.put("defaultData", Types.CLOB);
082                    TABLE_COLUMNS_MAP.put("typeSettings", Types.CLOB);
083            }
084    
085            public static final String TABLE_SQL_CREATE = "create table ExpandoColumn (columnId LONG not null primary key,companyId LONG,tableId LONG,name VARCHAR(75) null,type_ INTEGER,defaultData TEXT null,typeSettings TEXT null)";
086            public static final String TABLE_SQL_DROP = "drop table ExpandoColumn";
087            public static final String ORDER_BY_JPQL = " ORDER BY expandoColumn.name ASC";
088            public static final String ORDER_BY_SQL = " ORDER BY ExpandoColumn.name ASC";
089            public static final String DATA_SOURCE = "liferayDataSource";
090            public static final String SESSION_FACTORY = "liferaySessionFactory";
091            public static final String TX_MANAGER = "liferayTransactionManager";
092            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
093                                    "value.object.entity.cache.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
094                            true);
095            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
096                                    "value.object.finder.cache.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
097                            true);
098            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
099                                    "value.object.column.bitmask.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
100                            true);
101            public static final long NAME_COLUMN_BITMASK = 1L;
102            public static final long TABLEID_COLUMN_BITMASK = 2L;
103    
104            /**
105             * Converts the soap model instance into a normal model instance.
106             *
107             * @param soapModel the soap model instance to convert
108             * @return the normal model instance
109             */
110            public static ExpandoColumn toModel(ExpandoColumnSoap soapModel) {
111                    if (soapModel == null) {
112                            return null;
113                    }
114    
115                    ExpandoColumn model = new ExpandoColumnImpl();
116    
117                    model.setColumnId(soapModel.getColumnId());
118                    model.setCompanyId(soapModel.getCompanyId());
119                    model.setTableId(soapModel.getTableId());
120                    model.setName(soapModel.getName());
121                    model.setType(soapModel.getType());
122                    model.setDefaultData(soapModel.getDefaultData());
123                    model.setTypeSettings(soapModel.getTypeSettings());
124    
125                    return model;
126            }
127    
128            /**
129             * Converts the soap model instances into normal model instances.
130             *
131             * @param soapModels the soap model instances to convert
132             * @return the normal model instances
133             */
134            public static List<ExpandoColumn> toModels(ExpandoColumnSoap[] soapModels) {
135                    if (soapModels == null) {
136                            return null;
137                    }
138    
139                    List<ExpandoColumn> models = new ArrayList<ExpandoColumn>(soapModels.length);
140    
141                    for (ExpandoColumnSoap soapModel : soapModels) {
142                            models.add(toModel(soapModel));
143                    }
144    
145                    return models;
146            }
147    
148            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
149                                    "lock.expiration.time.com.liferay.portlet.expando.model.ExpandoColumn"));
150    
151            public ExpandoColumnModelImpl() {
152            }
153    
154            @Override
155            public long getPrimaryKey() {
156                    return _columnId;
157            }
158    
159            @Override
160            public void setPrimaryKey(long primaryKey) {
161                    setColumnId(primaryKey);
162            }
163    
164            @Override
165            public Serializable getPrimaryKeyObj() {
166                    return _columnId;
167            }
168    
169            @Override
170            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
171                    setPrimaryKey(((Long)primaryKeyObj).longValue());
172            }
173    
174            @Override
175            public Class<?> getModelClass() {
176                    return ExpandoColumn.class;
177            }
178    
179            @Override
180            public String getModelClassName() {
181                    return ExpandoColumn.class.getName();
182            }
183    
184            @Override
185            public Map<String, Object> getModelAttributes() {
186                    Map<String, Object> attributes = new HashMap<String, Object>();
187    
188                    attributes.put("columnId", getColumnId());
189                    attributes.put("companyId", getCompanyId());
190                    attributes.put("tableId", getTableId());
191                    attributes.put("name", getName());
192                    attributes.put("type", getType());
193                    attributes.put("defaultData", getDefaultData());
194                    attributes.put("typeSettings", getTypeSettings());
195    
196                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
197                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
198    
199                    return attributes;
200            }
201    
202            @Override
203            public void setModelAttributes(Map<String, Object> attributes) {
204                    Long columnId = (Long)attributes.get("columnId");
205    
206                    if (columnId != null) {
207                            setColumnId(columnId);
208                    }
209    
210                    Long companyId = (Long)attributes.get("companyId");
211    
212                    if (companyId != null) {
213                            setCompanyId(companyId);
214                    }
215    
216                    Long tableId = (Long)attributes.get("tableId");
217    
218                    if (tableId != null) {
219                            setTableId(tableId);
220                    }
221    
222                    String name = (String)attributes.get("name");
223    
224                    if (name != null) {
225                            setName(name);
226                    }
227    
228                    Integer type = (Integer)attributes.get("type");
229    
230                    if (type != null) {
231                            setType(type);
232                    }
233    
234                    String defaultData = (String)attributes.get("defaultData");
235    
236                    if (defaultData != null) {
237                            setDefaultData(defaultData);
238                    }
239    
240                    String typeSettings = (String)attributes.get("typeSettings");
241    
242                    if (typeSettings != null) {
243                            setTypeSettings(typeSettings);
244                    }
245            }
246    
247            @JSON
248            @Override
249            public long getColumnId() {
250                    return _columnId;
251            }
252    
253            @Override
254            public void setColumnId(long columnId) {
255                    _columnId = columnId;
256            }
257    
258            @JSON
259            @Override
260            public long getCompanyId() {
261                    return _companyId;
262            }
263    
264            @Override
265            public void setCompanyId(long companyId) {
266                    _companyId = companyId;
267            }
268    
269            @JSON
270            @Override
271            public long getTableId() {
272                    return _tableId;
273            }
274    
275            @Override
276            public void setTableId(long tableId) {
277                    _columnBitmask |= TABLEID_COLUMN_BITMASK;
278    
279                    if (!_setOriginalTableId) {
280                            _setOriginalTableId = true;
281    
282                            _originalTableId = _tableId;
283                    }
284    
285                    _tableId = tableId;
286            }
287    
288            public long getOriginalTableId() {
289                    return _originalTableId;
290            }
291    
292            @JSON
293            @Override
294            public String getName() {
295                    if (_name == null) {
296                            return StringPool.BLANK;
297                    }
298                    else {
299                            return _name;
300                    }
301            }
302    
303            @Override
304            public void setName(String name) {
305                    _columnBitmask = -1L;
306    
307                    if (_originalName == null) {
308                            _originalName = _name;
309                    }
310    
311                    _name = name;
312            }
313    
314            public String getOriginalName() {
315                    return GetterUtil.getString(_originalName);
316            }
317    
318            @JSON
319            @Override
320            public int getType() {
321                    return _type;
322            }
323    
324            @Override
325            public void setType(int type) {
326                    _type = type;
327            }
328    
329            @JSON
330            @Override
331            public String getDefaultData() {
332                    if (_defaultData == null) {
333                            return StringPool.BLANK;
334                    }
335                    else {
336                            return _defaultData;
337                    }
338            }
339    
340            @Override
341            public void setDefaultData(String defaultData) {
342                    _defaultData = defaultData;
343            }
344    
345            @JSON
346            @Override
347            public String getTypeSettings() {
348                    if (_typeSettings == null) {
349                            return StringPool.BLANK;
350                    }
351                    else {
352                            return _typeSettings;
353                    }
354            }
355    
356            @Override
357            public void setTypeSettings(String typeSettings) {
358                    _typeSettings = typeSettings;
359            }
360    
361            public long getColumnBitmask() {
362                    return _columnBitmask;
363            }
364    
365            @Override
366            public ExpandoColumn toEscapedModel() {
367                    if (_escapedModel == null) {
368                            _escapedModel = (ExpandoColumn)ProxyUtil.newProxyInstance(_classLoader,
369                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
370                    }
371    
372                    return _escapedModel;
373            }
374    
375            @Override
376            public Object clone() {
377                    ExpandoColumnImpl expandoColumnImpl = new ExpandoColumnImpl();
378    
379                    expandoColumnImpl.setColumnId(getColumnId());
380                    expandoColumnImpl.setCompanyId(getCompanyId());
381                    expandoColumnImpl.setTableId(getTableId());
382                    expandoColumnImpl.setName(getName());
383                    expandoColumnImpl.setType(getType());
384                    expandoColumnImpl.setDefaultData(getDefaultData());
385                    expandoColumnImpl.setTypeSettings(getTypeSettings());
386    
387                    expandoColumnImpl.resetOriginalValues();
388    
389                    return expandoColumnImpl;
390            }
391    
392            @Override
393            public int compareTo(ExpandoColumn expandoColumn) {
394                    int value = 0;
395    
396                    value = getName().compareTo(expandoColumn.getName());
397    
398                    if (value != 0) {
399                            return value;
400                    }
401    
402                    return 0;
403            }
404    
405            @Override
406            public boolean equals(Object obj) {
407                    if (this == obj) {
408                            return true;
409                    }
410    
411                    if (!(obj instanceof ExpandoColumn)) {
412                            return false;
413                    }
414    
415                    ExpandoColumn expandoColumn = (ExpandoColumn)obj;
416    
417                    long primaryKey = expandoColumn.getPrimaryKey();
418    
419                    if (getPrimaryKey() == primaryKey) {
420                            return true;
421                    }
422                    else {
423                            return false;
424                    }
425            }
426    
427            @Override
428            public int hashCode() {
429                    return (int)getPrimaryKey();
430            }
431    
432            @Override
433            public boolean isEntityCacheEnabled() {
434                    return ENTITY_CACHE_ENABLED;
435            }
436    
437            @Override
438            public boolean isFinderCacheEnabled() {
439                    return FINDER_CACHE_ENABLED;
440            }
441    
442            @Override
443            public void resetOriginalValues() {
444                    ExpandoColumnModelImpl expandoColumnModelImpl = this;
445    
446                    expandoColumnModelImpl._originalTableId = expandoColumnModelImpl._tableId;
447    
448                    expandoColumnModelImpl._setOriginalTableId = false;
449    
450                    expandoColumnModelImpl._originalName = expandoColumnModelImpl._name;
451    
452                    expandoColumnModelImpl._columnBitmask = 0;
453            }
454    
455            @Override
456            public CacheModel<ExpandoColumn> toCacheModel() {
457                    ExpandoColumnCacheModel expandoColumnCacheModel = new ExpandoColumnCacheModel();
458    
459                    expandoColumnCacheModel.columnId = getColumnId();
460    
461                    expandoColumnCacheModel.companyId = getCompanyId();
462    
463                    expandoColumnCacheModel.tableId = getTableId();
464    
465                    expandoColumnCacheModel.name = getName();
466    
467                    String name = expandoColumnCacheModel.name;
468    
469                    if ((name != null) && (name.length() == 0)) {
470                            expandoColumnCacheModel.name = null;
471                    }
472    
473                    expandoColumnCacheModel.type = getType();
474    
475                    expandoColumnCacheModel.defaultData = getDefaultData();
476    
477                    String defaultData = expandoColumnCacheModel.defaultData;
478    
479                    if ((defaultData != null) && (defaultData.length() == 0)) {
480                            expandoColumnCacheModel.defaultData = null;
481                    }
482    
483                    expandoColumnCacheModel.typeSettings = getTypeSettings();
484    
485                    String typeSettings = expandoColumnCacheModel.typeSettings;
486    
487                    if ((typeSettings != null) && (typeSettings.length() == 0)) {
488                            expandoColumnCacheModel.typeSettings = null;
489                    }
490    
491                    return expandoColumnCacheModel;
492            }
493    
494            @Override
495            public String toString() {
496                    StringBundler sb = new StringBundler(15);
497    
498                    sb.append("{columnId=");
499                    sb.append(getColumnId());
500                    sb.append(", companyId=");
501                    sb.append(getCompanyId());
502                    sb.append(", tableId=");
503                    sb.append(getTableId());
504                    sb.append(", name=");
505                    sb.append(getName());
506                    sb.append(", type=");
507                    sb.append(getType());
508                    sb.append(", defaultData=");
509                    sb.append(getDefaultData());
510                    sb.append(", typeSettings=");
511                    sb.append(getTypeSettings());
512                    sb.append("}");
513    
514                    return sb.toString();
515            }
516    
517            @Override
518            public String toXmlString() {
519                    StringBundler sb = new StringBundler(25);
520    
521                    sb.append("<model><model-name>");
522                    sb.append("com.liferay.portlet.expando.model.ExpandoColumn");
523                    sb.append("</model-name>");
524    
525                    sb.append(
526                            "<column><column-name>columnId</column-name><column-value><![CDATA[");
527                    sb.append(getColumnId());
528                    sb.append("]]></column-value></column>");
529                    sb.append(
530                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
531                    sb.append(getCompanyId());
532                    sb.append("]]></column-value></column>");
533                    sb.append(
534                            "<column><column-name>tableId</column-name><column-value><![CDATA[");
535                    sb.append(getTableId());
536                    sb.append("]]></column-value></column>");
537                    sb.append(
538                            "<column><column-name>name</column-name><column-value><![CDATA[");
539                    sb.append(getName());
540                    sb.append("]]></column-value></column>");
541                    sb.append(
542                            "<column><column-name>type</column-name><column-value><![CDATA[");
543                    sb.append(getType());
544                    sb.append("]]></column-value></column>");
545                    sb.append(
546                            "<column><column-name>defaultData</column-name><column-value><![CDATA[");
547                    sb.append(getDefaultData());
548                    sb.append("]]></column-value></column>");
549                    sb.append(
550                            "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
551                    sb.append(getTypeSettings());
552                    sb.append("]]></column-value></column>");
553    
554                    sb.append("</model>");
555    
556                    return sb.toString();
557            }
558    
559            private static final ClassLoader _classLoader = ExpandoColumn.class.getClassLoader();
560            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
561                            ExpandoColumn.class
562                    };
563            private long _columnId;
564            private long _companyId;
565            private long _tableId;
566            private long _originalTableId;
567            private boolean _setOriginalTableId;
568            private String _name;
569            private String _originalName;
570            private int _type;
571            private String _defaultData;
572            private String _typeSettings;
573            private long _columnBitmask;
574            private ExpandoColumn _escapedModel;
575    }