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