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