001    /**
002     * Copyright (c) 2000-2012 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 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.impl.BaseModelImpl;
025    
026    import com.liferay.portlet.expando.model.ExpandoColumn;
027    import com.liferay.portlet.expando.model.ExpandoColumnModel;
028    import com.liferay.portlet.expando.model.ExpandoColumnSoap;
029    
030    import java.io.Serializable;
031    
032    import java.sql.Types;
033    
034    import java.util.ArrayList;
035    import java.util.List;
036    
037    /**
038     * 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.
039     *
040     * <p>
041     * This implementation and its corresponding interface {@link com.liferay.portlet.expando.model.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}.
042     * </p>
043     *
044     * @author Brian Wing Shun Chan
045     * @see ExpandoColumnImpl
046     * @see com.liferay.portlet.expando.model.ExpandoColumn
047     * @see com.liferay.portlet.expando.model.ExpandoColumnModel
048     * @generated
049     */
050    @JSON(strict = true)
051    public class ExpandoColumnModelImpl extends BaseModelImpl<ExpandoColumn>
052            implements ExpandoColumnModel {
053            /*
054             * NOTE FOR DEVELOPERS:
055             *
056             * Never modify or reference this class directly. All methods that expect a expando column model instance should use the {@link com.liferay.portlet.expando.model.ExpandoColumn} interface instead.
057             */
058            public static final String TABLE_NAME = "ExpandoColumn";
059            public static final Object[][] TABLE_COLUMNS = {
060                            { "columnId", Types.BIGINT },
061                            { "companyId", Types.BIGINT },
062                            { "tableId", Types.BIGINT },
063                            { "name", Types.VARCHAR },
064                            { "type_", Types.INTEGER },
065                            { "defaultData", Types.VARCHAR },
066                            { "typeSettings", Types.CLOB }
067                    };
068            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)";
069            public static final String TABLE_SQL_DROP = "drop table ExpandoColumn";
070            public static final String ORDER_BY_JPQL = " ORDER BY expandoColumn.name ASC";
071            public static final String ORDER_BY_SQL = " ORDER BY ExpandoColumn.name ASC";
072            public static final String DATA_SOURCE = "liferayDataSource";
073            public static final String SESSION_FACTORY = "liferaySessionFactory";
074            public static final String TX_MANAGER = "liferayTransactionManager";
075            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
076                                    "value.object.entity.cache.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
077                            true);
078            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
079                                    "value.object.finder.cache.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
080                            true);
081            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
082                                    "value.object.column.bitmask.enabled.com.liferay.portlet.expando.model.ExpandoColumn"),
083                            true);
084            public static long NAME_COLUMN_BITMASK = 1L;
085            public static long TABLEID_COLUMN_BITMASK = 2L;
086    
087            /**
088             * Converts the soap model instance into a normal model instance.
089             *
090             * @param soapModel the soap model instance to convert
091             * @return the normal model instance
092             */
093            public static ExpandoColumn toModel(ExpandoColumnSoap soapModel) {
094                    ExpandoColumn model = new ExpandoColumnImpl();
095    
096                    model.setColumnId(soapModel.getColumnId());
097                    model.setCompanyId(soapModel.getCompanyId());
098                    model.setTableId(soapModel.getTableId());
099                    model.setName(soapModel.getName());
100                    model.setType(soapModel.getType());
101                    model.setDefaultData(soapModel.getDefaultData());
102                    model.setTypeSettings(soapModel.getTypeSettings());
103    
104                    return model;
105            }
106    
107            /**
108             * Converts the soap model instances into normal model instances.
109             *
110             * @param soapModels the soap model instances to convert
111             * @return the normal model instances
112             */
113            public static List<ExpandoColumn> toModels(ExpandoColumnSoap[] soapModels) {
114                    List<ExpandoColumn> models = new ArrayList<ExpandoColumn>(soapModels.length);
115    
116                    for (ExpandoColumnSoap soapModel : soapModels) {
117                            models.add(toModel(soapModel));
118                    }
119    
120                    return models;
121            }
122    
123            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
124                                    "lock.expiration.time.com.liferay.portlet.expando.model.ExpandoColumn"));
125    
126            public ExpandoColumnModelImpl() {
127            }
128    
129            public long getPrimaryKey() {
130                    return _columnId;
131            }
132    
133            public void setPrimaryKey(long primaryKey) {
134                    setColumnId(primaryKey);
135            }
136    
137            public Serializable getPrimaryKeyObj() {
138                    return new Long(_columnId);
139            }
140    
141            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
142                    setPrimaryKey(((Long)primaryKeyObj).longValue());
143            }
144    
145            public Class<?> getModelClass() {
146                    return ExpandoColumn.class;
147            }
148    
149            public String getModelClassName() {
150                    return ExpandoColumn.class.getName();
151            }
152    
153            @JSON
154            public long getColumnId() {
155                    return _columnId;
156            }
157    
158            public void setColumnId(long columnId) {
159                    _columnId = columnId;
160            }
161    
162            @JSON
163            public long getCompanyId() {
164                    return _companyId;
165            }
166    
167            public void setCompanyId(long companyId) {
168                    _companyId = companyId;
169            }
170    
171            @JSON
172            public long getTableId() {
173                    return _tableId;
174            }
175    
176            public void setTableId(long tableId) {
177                    _columnBitmask |= TABLEID_COLUMN_BITMASK;
178    
179                    if (!_setOriginalTableId) {
180                            _setOriginalTableId = true;
181    
182                            _originalTableId = _tableId;
183                    }
184    
185                    _tableId = tableId;
186            }
187    
188            public long getOriginalTableId() {
189                    return _originalTableId;
190            }
191    
192            @JSON
193            public String getName() {
194                    if (_name == null) {
195                            return StringPool.BLANK;
196                    }
197                    else {
198                            return _name;
199                    }
200            }
201    
202            public void setName(String name) {
203                    _columnBitmask = -1L;
204    
205                    if (_originalName == null) {
206                            _originalName = _name;
207                    }
208    
209                    _name = name;
210            }
211    
212            public String getOriginalName() {
213                    return GetterUtil.getString(_originalName);
214            }
215    
216            @JSON
217            public int getType() {
218                    return _type;
219            }
220    
221            public void setType(int type) {
222                    _type = type;
223            }
224    
225            @JSON
226            public String getDefaultData() {
227                    if (_defaultData == null) {
228                            return StringPool.BLANK;
229                    }
230                    else {
231                            return _defaultData;
232                    }
233            }
234    
235            public void setDefaultData(String defaultData) {
236                    _defaultData = defaultData;
237            }
238    
239            @JSON
240            public String getTypeSettings() {
241                    if (_typeSettings == null) {
242                            return StringPool.BLANK;
243                    }
244                    else {
245                            return _typeSettings;
246                    }
247            }
248    
249            public void setTypeSettings(String typeSettings) {
250                    _typeSettings = typeSettings;
251            }
252    
253            public long getColumnBitmask() {
254                    return _columnBitmask;
255            }
256    
257            @Override
258            public ExpandoColumn toEscapedModel() {
259                    if (_escapedModelProxy == null) {
260                            _escapedModelProxy = (ExpandoColumn)ProxyUtil.newProxyInstance(_classLoader,
261                                            _escapedModelProxyInterfaces,
262                                            new AutoEscapeBeanHandler(this));
263                    }
264    
265                    return _escapedModelProxy;
266            }
267    
268            @Override
269            public Object clone() {
270                    ExpandoColumnImpl expandoColumnImpl = new ExpandoColumnImpl();
271    
272                    expandoColumnImpl.setColumnId(getColumnId());
273                    expandoColumnImpl.setCompanyId(getCompanyId());
274                    expandoColumnImpl.setTableId(getTableId());
275                    expandoColumnImpl.setName(getName());
276                    expandoColumnImpl.setType(getType());
277                    expandoColumnImpl.setDefaultData(getDefaultData());
278                    expandoColumnImpl.setTypeSettings(getTypeSettings());
279    
280                    expandoColumnImpl.resetOriginalValues();
281    
282                    return expandoColumnImpl;
283            }
284    
285            public int compareTo(ExpandoColumn expandoColumn) {
286                    int value = 0;
287    
288                    value = getName().compareTo(expandoColumn.getName());
289    
290                    if (value != 0) {
291                            return value;
292                    }
293    
294                    return 0;
295            }
296    
297            @Override
298            public boolean equals(Object obj) {
299                    if (obj == null) {
300                            return false;
301                    }
302    
303                    ExpandoColumn expandoColumn = null;
304    
305                    try {
306                            expandoColumn = (ExpandoColumn)obj;
307                    }
308                    catch (ClassCastException cce) {
309                            return false;
310                    }
311    
312                    long primaryKey = expandoColumn.getPrimaryKey();
313    
314                    if (getPrimaryKey() == primaryKey) {
315                            return true;
316                    }
317                    else {
318                            return false;
319                    }
320            }
321    
322            @Override
323            public int hashCode() {
324                    return (int)getPrimaryKey();
325            }
326    
327            @Override
328            public void resetOriginalValues() {
329                    ExpandoColumnModelImpl expandoColumnModelImpl = this;
330    
331                    expandoColumnModelImpl._originalTableId = expandoColumnModelImpl._tableId;
332    
333                    expandoColumnModelImpl._setOriginalTableId = false;
334    
335                    expandoColumnModelImpl._originalName = expandoColumnModelImpl._name;
336    
337                    expandoColumnModelImpl._columnBitmask = 0;
338            }
339    
340            @Override
341            public CacheModel<ExpandoColumn> toCacheModel() {
342                    ExpandoColumnCacheModel expandoColumnCacheModel = new ExpandoColumnCacheModel();
343    
344                    expandoColumnCacheModel.columnId = getColumnId();
345    
346                    expandoColumnCacheModel.companyId = getCompanyId();
347    
348                    expandoColumnCacheModel.tableId = getTableId();
349    
350                    expandoColumnCacheModel.name = getName();
351    
352                    String name = expandoColumnCacheModel.name;
353    
354                    if ((name != null) && (name.length() == 0)) {
355                            expandoColumnCacheModel.name = null;
356                    }
357    
358                    expandoColumnCacheModel.type = getType();
359    
360                    expandoColumnCacheModel.defaultData = getDefaultData();
361    
362                    String defaultData = expandoColumnCacheModel.defaultData;
363    
364                    if ((defaultData != null) && (defaultData.length() == 0)) {
365                            expandoColumnCacheModel.defaultData = null;
366                    }
367    
368                    expandoColumnCacheModel.typeSettings = getTypeSettings();
369    
370                    String typeSettings = expandoColumnCacheModel.typeSettings;
371    
372                    if ((typeSettings != null) && (typeSettings.length() == 0)) {
373                            expandoColumnCacheModel.typeSettings = null;
374                    }
375    
376                    return expandoColumnCacheModel;
377            }
378    
379            @Override
380            public String toString() {
381                    StringBundler sb = new StringBundler(15);
382    
383                    sb.append("{columnId=");
384                    sb.append(getColumnId());
385                    sb.append(", companyId=");
386                    sb.append(getCompanyId());
387                    sb.append(", tableId=");
388                    sb.append(getTableId());
389                    sb.append(", name=");
390                    sb.append(getName());
391                    sb.append(", type=");
392                    sb.append(getType());
393                    sb.append(", defaultData=");
394                    sb.append(getDefaultData());
395                    sb.append(", typeSettings=");
396                    sb.append(getTypeSettings());
397                    sb.append("}");
398    
399                    return sb.toString();
400            }
401    
402            public String toXmlString() {
403                    StringBundler sb = new StringBundler(25);
404    
405                    sb.append("<model><model-name>");
406                    sb.append("com.liferay.portlet.expando.model.ExpandoColumn");
407                    sb.append("</model-name>");
408    
409                    sb.append(
410                            "<column><column-name>columnId</column-name><column-value><![CDATA[");
411                    sb.append(getColumnId());
412                    sb.append("]]></column-value></column>");
413                    sb.append(
414                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
415                    sb.append(getCompanyId());
416                    sb.append("]]></column-value></column>");
417                    sb.append(
418                            "<column><column-name>tableId</column-name><column-value><![CDATA[");
419                    sb.append(getTableId());
420                    sb.append("]]></column-value></column>");
421                    sb.append(
422                            "<column><column-name>name</column-name><column-value><![CDATA[");
423                    sb.append(getName());
424                    sb.append("]]></column-value></column>");
425                    sb.append(
426                            "<column><column-name>type</column-name><column-value><![CDATA[");
427                    sb.append(getType());
428                    sb.append("]]></column-value></column>");
429                    sb.append(
430                            "<column><column-name>defaultData</column-name><column-value><![CDATA[");
431                    sb.append(getDefaultData());
432                    sb.append("]]></column-value></column>");
433                    sb.append(
434                            "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
435                    sb.append(getTypeSettings());
436                    sb.append("]]></column-value></column>");
437    
438                    sb.append("</model>");
439    
440                    return sb.toString();
441            }
442    
443            private static ClassLoader _classLoader = ExpandoColumn.class.getClassLoader();
444            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
445                            ExpandoColumn.class
446                    };
447            private long _columnId;
448            private long _companyId;
449            private long _tableId;
450            private long _originalTableId;
451            private boolean _setOriginalTableId;
452            private String _name;
453            private String _originalName;
454            private int _type;
455            private String _defaultData;
456            private String _typeSettings;
457            private long _columnBitmask;
458            private ExpandoColumn _escapedModelProxy;
459    }