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.ExpandoValue;
031    import com.liferay.portlet.expando.model.ExpandoValueModel;
032    import com.liferay.portlet.expando.model.ExpandoValueSoap;
033    
034    import java.io.Serializable;
035    
036    import java.sql.Types;
037    
038    import java.util.ArrayList;
039    import java.util.HashMap;
040    import java.util.List;
041    import java.util.Map;
042    
043    /**
044     * The base model implementation for the ExpandoValue service. Represents a row in the "ExpandoValue" database table, with each column mapped to a property of this class.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link ExpandoValueModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ExpandoValueImpl}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see ExpandoValueImpl
052     * @see ExpandoValue
053     * @see ExpandoValueModel
054     * @generated
055     */
056    @JSON(strict = true)
057    @ProviderType
058    public class ExpandoValueModelImpl extends BaseModelImpl<ExpandoValue>
059            implements ExpandoValueModel {
060            /*
061             * NOTE FOR DEVELOPERS:
062             *
063             * Never modify or reference this class directly. All methods that expect a expando value model instance should use the {@link ExpandoValue} interface instead.
064             */
065            public static final String TABLE_NAME = "ExpandoValue";
066            public static final Object[][] TABLE_COLUMNS = {
067                            { "valueId", Types.BIGINT },
068                            { "companyId", Types.BIGINT },
069                            { "tableId", Types.BIGINT },
070                            { "columnId", Types.BIGINT },
071                            { "rowId_", Types.BIGINT },
072                            { "classNameId", Types.BIGINT },
073                            { "classPK", Types.BIGINT },
074                            { "data_", Types.CLOB }
075                    };
076            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
077    
078            static {
079                    TABLE_COLUMNS_MAP.put("valueId", Types.BIGINT);
080                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
081                    TABLE_COLUMNS_MAP.put("tableId", Types.BIGINT);
082                    TABLE_COLUMNS_MAP.put("columnId", Types.BIGINT);
083                    TABLE_COLUMNS_MAP.put("rowId_", Types.BIGINT);
084                    TABLE_COLUMNS_MAP.put("classNameId", Types.BIGINT);
085                    TABLE_COLUMNS_MAP.put("classPK", Types.BIGINT);
086                    TABLE_COLUMNS_MAP.put("data_", Types.CLOB);
087            }
088    
089            public static final String TABLE_SQL_CREATE = "create table ExpandoValue (valueId LONG not null primary key,companyId LONG,tableId LONG,columnId LONG,rowId_ LONG,classNameId LONG,classPK LONG,data_ TEXT null)";
090            public static final String TABLE_SQL_DROP = "drop table ExpandoValue";
091            public static final String ORDER_BY_JPQL = " ORDER BY expandoValue.tableId ASC, expandoValue.rowId ASC, expandoValue.columnId ASC";
092            public static final String ORDER_BY_SQL = " ORDER BY ExpandoValue.tableId ASC, ExpandoValue.rowId_ ASC, ExpandoValue.columnId ASC";
093            public static final String DATA_SOURCE = "liferayDataSource";
094            public static final String SESSION_FACTORY = "liferaySessionFactory";
095            public static final String TX_MANAGER = "liferayTransactionManager";
096            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
097                                    "value.object.entity.cache.enabled.com.liferay.portlet.expando.model.ExpandoValue"),
098                            true);
099            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
100                                    "value.object.finder.cache.enabled.com.liferay.portlet.expando.model.ExpandoValue"),
101                            true);
102            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
103                                    "value.object.column.bitmask.enabled.com.liferay.portlet.expando.model.ExpandoValue"),
104                            true);
105            public static final long CLASSNAMEID_COLUMN_BITMASK = 1L;
106            public static final long CLASSPK_COLUMN_BITMASK = 2L;
107            public static final long COLUMNID_COLUMN_BITMASK = 4L;
108            public static final long DATA_COLUMN_BITMASK = 8L;
109            public static final long ROWID_COLUMN_BITMASK = 16L;
110            public static final long TABLEID_COLUMN_BITMASK = 32L;
111    
112            /**
113             * Converts the soap model instance into a normal model instance.
114             *
115             * @param soapModel the soap model instance to convert
116             * @return the normal model instance
117             */
118            public static ExpandoValue toModel(ExpandoValueSoap soapModel) {
119                    if (soapModel == null) {
120                            return null;
121                    }
122    
123                    ExpandoValue model = new ExpandoValueImpl();
124    
125                    model.setValueId(soapModel.getValueId());
126                    model.setCompanyId(soapModel.getCompanyId());
127                    model.setTableId(soapModel.getTableId());
128                    model.setColumnId(soapModel.getColumnId());
129                    model.setRowId(soapModel.getRowId());
130                    model.setClassNameId(soapModel.getClassNameId());
131                    model.setClassPK(soapModel.getClassPK());
132                    model.setData(soapModel.getData());
133    
134                    return model;
135            }
136    
137            /**
138             * Converts the soap model instances into normal model instances.
139             *
140             * @param soapModels the soap model instances to convert
141             * @return the normal model instances
142             */
143            public static List<ExpandoValue> toModels(ExpandoValueSoap[] soapModels) {
144                    if (soapModels == null) {
145                            return null;
146                    }
147    
148                    List<ExpandoValue> models = new ArrayList<ExpandoValue>(soapModels.length);
149    
150                    for (ExpandoValueSoap soapModel : soapModels) {
151                            models.add(toModel(soapModel));
152                    }
153    
154                    return models;
155            }
156    
157            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
158                                    "lock.expiration.time.com.liferay.portlet.expando.model.ExpandoValue"));
159    
160            public ExpandoValueModelImpl() {
161            }
162    
163            @Override
164            public long getPrimaryKey() {
165                    return _valueId;
166            }
167    
168            @Override
169            public void setPrimaryKey(long primaryKey) {
170                    setValueId(primaryKey);
171            }
172    
173            @Override
174            public Serializable getPrimaryKeyObj() {
175                    return _valueId;
176            }
177    
178            @Override
179            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
180                    setPrimaryKey(((Long)primaryKeyObj).longValue());
181            }
182    
183            @Override
184            public Class<?> getModelClass() {
185                    return ExpandoValue.class;
186            }
187    
188            @Override
189            public String getModelClassName() {
190                    return ExpandoValue.class.getName();
191            }
192    
193            @Override
194            public Map<String, Object> getModelAttributes() {
195                    Map<String, Object> attributes = new HashMap<String, Object>();
196    
197                    attributes.put("valueId", getValueId());
198                    attributes.put("companyId", getCompanyId());
199                    attributes.put("tableId", getTableId());
200                    attributes.put("columnId", getColumnId());
201                    attributes.put("rowId", getRowId());
202                    attributes.put("classNameId", getClassNameId());
203                    attributes.put("classPK", getClassPK());
204                    attributes.put("data", getData());
205    
206                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
207                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
208    
209                    return attributes;
210            }
211    
212            @Override
213            public void setModelAttributes(Map<String, Object> attributes) {
214                    Long valueId = (Long)attributes.get("valueId");
215    
216                    if (valueId != null) {
217                            setValueId(valueId);
218                    }
219    
220                    Long companyId = (Long)attributes.get("companyId");
221    
222                    if (companyId != null) {
223                            setCompanyId(companyId);
224                    }
225    
226                    Long tableId = (Long)attributes.get("tableId");
227    
228                    if (tableId != null) {
229                            setTableId(tableId);
230                    }
231    
232                    Long columnId = (Long)attributes.get("columnId");
233    
234                    if (columnId != null) {
235                            setColumnId(columnId);
236                    }
237    
238                    Long rowId = (Long)attributes.get("rowId");
239    
240                    if (rowId != null) {
241                            setRowId(rowId);
242                    }
243    
244                    Long classNameId = (Long)attributes.get("classNameId");
245    
246                    if (classNameId != null) {
247                            setClassNameId(classNameId);
248                    }
249    
250                    Long classPK = (Long)attributes.get("classPK");
251    
252                    if (classPK != null) {
253                            setClassPK(classPK);
254                    }
255    
256                    String data = (String)attributes.get("data");
257    
258                    if (data != null) {
259                            setData(data);
260                    }
261            }
262    
263            @JSON
264            @Override
265            public long getValueId() {
266                    return _valueId;
267            }
268    
269            @Override
270            public void setValueId(long valueId) {
271                    _valueId = valueId;
272            }
273    
274            @JSON
275            @Override
276            public long getCompanyId() {
277                    return _companyId;
278            }
279    
280            @Override
281            public void setCompanyId(long companyId) {
282                    _companyId = companyId;
283            }
284    
285            @JSON
286            @Override
287            public long getTableId() {
288                    return _tableId;
289            }
290    
291            @Override
292            public void setTableId(long tableId) {
293                    _columnBitmask = -1L;
294    
295                    if (!_setOriginalTableId) {
296                            _setOriginalTableId = true;
297    
298                            _originalTableId = _tableId;
299                    }
300    
301                    _tableId = tableId;
302            }
303    
304            public long getOriginalTableId() {
305                    return _originalTableId;
306            }
307    
308            @JSON
309            @Override
310            public long getColumnId() {
311                    return _columnId;
312            }
313    
314            @Override
315            public void setColumnId(long columnId) {
316                    _columnBitmask = -1L;
317    
318                    if (!_setOriginalColumnId) {
319                            _setOriginalColumnId = true;
320    
321                            _originalColumnId = _columnId;
322                    }
323    
324                    _columnId = columnId;
325            }
326    
327            public long getOriginalColumnId() {
328                    return _originalColumnId;
329            }
330    
331            @JSON
332            @Override
333            public long getRowId() {
334                    return _rowId;
335            }
336    
337            @Override
338            public void setRowId(long rowId) {
339                    _columnBitmask = -1L;
340    
341                    if (!_setOriginalRowId) {
342                            _setOriginalRowId = true;
343    
344                            _originalRowId = _rowId;
345                    }
346    
347                    _rowId = rowId;
348            }
349    
350            public long getOriginalRowId() {
351                    return _originalRowId;
352            }
353    
354            @Override
355            public String getClassName() {
356                    if (getClassNameId() <= 0) {
357                            return StringPool.BLANK;
358                    }
359    
360                    return PortalUtil.getClassName(getClassNameId());
361            }
362    
363            @Override
364            public void setClassName(String className) {
365                    long classNameId = 0;
366    
367                    if (Validator.isNotNull(className)) {
368                            classNameId = PortalUtil.getClassNameId(className);
369                    }
370    
371                    setClassNameId(classNameId);
372            }
373    
374            @JSON
375            @Override
376            public long getClassNameId() {
377                    return _classNameId;
378            }
379    
380            @Override
381            public void setClassNameId(long classNameId) {
382                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
383    
384                    if (!_setOriginalClassNameId) {
385                            _setOriginalClassNameId = true;
386    
387                            _originalClassNameId = _classNameId;
388                    }
389    
390                    _classNameId = classNameId;
391            }
392    
393            public long getOriginalClassNameId() {
394                    return _originalClassNameId;
395            }
396    
397            @JSON
398            @Override
399            public long getClassPK() {
400                    return _classPK;
401            }
402    
403            @Override
404            public void setClassPK(long classPK) {
405                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
406    
407                    if (!_setOriginalClassPK) {
408                            _setOriginalClassPK = true;
409    
410                            _originalClassPK = _classPK;
411                    }
412    
413                    _classPK = classPK;
414            }
415    
416            public long getOriginalClassPK() {
417                    return _originalClassPK;
418            }
419    
420            @JSON
421            @Override
422            public String getData() {
423                    if (_data == null) {
424                            return StringPool.BLANK;
425                    }
426                    else {
427                            return _data;
428                    }
429            }
430    
431            @Override
432            public void setData(String data) {
433                    _columnBitmask |= DATA_COLUMN_BITMASK;
434    
435                    if (_originalData == null) {
436                            _originalData = _data;
437                    }
438    
439                    _data = data;
440            }
441    
442            public String getOriginalData() {
443                    return GetterUtil.getString(_originalData);
444            }
445    
446            public long getColumnBitmask() {
447                    return _columnBitmask;
448            }
449    
450            @Override
451            public ExpandoValue toEscapedModel() {
452                    if (_escapedModel == null) {
453                            _escapedModel = (ExpandoValue)ProxyUtil.newProxyInstance(_classLoader,
454                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
455                    }
456    
457                    return _escapedModel;
458            }
459    
460            @Override
461            public Object clone() {
462                    ExpandoValueImpl expandoValueImpl = new ExpandoValueImpl();
463    
464                    expandoValueImpl.setValueId(getValueId());
465                    expandoValueImpl.setCompanyId(getCompanyId());
466                    expandoValueImpl.setTableId(getTableId());
467                    expandoValueImpl.setColumnId(getColumnId());
468                    expandoValueImpl.setRowId(getRowId());
469                    expandoValueImpl.setClassNameId(getClassNameId());
470                    expandoValueImpl.setClassPK(getClassPK());
471                    expandoValueImpl.setData(getData());
472    
473                    expandoValueImpl.resetOriginalValues();
474    
475                    return expandoValueImpl;
476            }
477    
478            @Override
479            public int compareTo(ExpandoValue expandoValue) {
480                    int value = 0;
481    
482                    if (getTableId() < expandoValue.getTableId()) {
483                            value = -1;
484                    }
485                    else if (getTableId() > expandoValue.getTableId()) {
486                            value = 1;
487                    }
488                    else {
489                            value = 0;
490                    }
491    
492                    if (value != 0) {
493                            return value;
494                    }
495    
496                    if (getRowId() < expandoValue.getRowId()) {
497                            value = -1;
498                    }
499                    else if (getRowId() > expandoValue.getRowId()) {
500                            value = 1;
501                    }
502                    else {
503                            value = 0;
504                    }
505    
506                    if (value != 0) {
507                            return value;
508                    }
509    
510                    if (getColumnId() < expandoValue.getColumnId()) {
511                            value = -1;
512                    }
513                    else if (getColumnId() > expandoValue.getColumnId()) {
514                            value = 1;
515                    }
516                    else {
517                            value = 0;
518                    }
519    
520                    if (value != 0) {
521                            return value;
522                    }
523    
524                    return 0;
525            }
526    
527            @Override
528            public boolean equals(Object obj) {
529                    if (this == obj) {
530                            return true;
531                    }
532    
533                    if (!(obj instanceof ExpandoValue)) {
534                            return false;
535                    }
536    
537                    ExpandoValue expandoValue = (ExpandoValue)obj;
538    
539                    long primaryKey = expandoValue.getPrimaryKey();
540    
541                    if (getPrimaryKey() == primaryKey) {
542                            return true;
543                    }
544                    else {
545                            return false;
546                    }
547            }
548    
549            @Override
550            public int hashCode() {
551                    return (int)getPrimaryKey();
552            }
553    
554            @Override
555            public boolean isEntityCacheEnabled() {
556                    return ENTITY_CACHE_ENABLED;
557            }
558    
559            @Override
560            public boolean isFinderCacheEnabled() {
561                    return FINDER_CACHE_ENABLED;
562            }
563    
564            @Override
565            public void resetOriginalValues() {
566                    ExpandoValueModelImpl expandoValueModelImpl = this;
567    
568                    expandoValueModelImpl._originalTableId = expandoValueModelImpl._tableId;
569    
570                    expandoValueModelImpl._setOriginalTableId = false;
571    
572                    expandoValueModelImpl._originalColumnId = expandoValueModelImpl._columnId;
573    
574                    expandoValueModelImpl._setOriginalColumnId = false;
575    
576                    expandoValueModelImpl._originalRowId = expandoValueModelImpl._rowId;
577    
578                    expandoValueModelImpl._setOriginalRowId = false;
579    
580                    expandoValueModelImpl._originalClassNameId = expandoValueModelImpl._classNameId;
581    
582                    expandoValueModelImpl._setOriginalClassNameId = false;
583    
584                    expandoValueModelImpl._originalClassPK = expandoValueModelImpl._classPK;
585    
586                    expandoValueModelImpl._setOriginalClassPK = false;
587    
588                    expandoValueModelImpl._originalData = expandoValueModelImpl._data;
589    
590                    expandoValueModelImpl._columnBitmask = 0;
591            }
592    
593            @Override
594            public CacheModel<ExpandoValue> toCacheModel() {
595                    ExpandoValueCacheModel expandoValueCacheModel = new ExpandoValueCacheModel();
596    
597                    expandoValueCacheModel.valueId = getValueId();
598    
599                    expandoValueCacheModel.companyId = getCompanyId();
600    
601                    expandoValueCacheModel.tableId = getTableId();
602    
603                    expandoValueCacheModel.columnId = getColumnId();
604    
605                    expandoValueCacheModel.rowId = getRowId();
606    
607                    expandoValueCacheModel.classNameId = getClassNameId();
608    
609                    expandoValueCacheModel.classPK = getClassPK();
610    
611                    expandoValueCacheModel.data = getData();
612    
613                    String data = expandoValueCacheModel.data;
614    
615                    if ((data != null) && (data.length() == 0)) {
616                            expandoValueCacheModel.data = null;
617                    }
618    
619                    return expandoValueCacheModel;
620            }
621    
622            @Override
623            public String toString() {
624                    StringBundler sb = new StringBundler(17);
625    
626                    sb.append("{valueId=");
627                    sb.append(getValueId());
628                    sb.append(", companyId=");
629                    sb.append(getCompanyId());
630                    sb.append(", tableId=");
631                    sb.append(getTableId());
632                    sb.append(", columnId=");
633                    sb.append(getColumnId());
634                    sb.append(", rowId=");
635                    sb.append(getRowId());
636                    sb.append(", classNameId=");
637                    sb.append(getClassNameId());
638                    sb.append(", classPK=");
639                    sb.append(getClassPK());
640                    sb.append(", data=");
641                    sb.append(getData());
642                    sb.append("}");
643    
644                    return sb.toString();
645            }
646    
647            @Override
648            public String toXmlString() {
649                    StringBundler sb = new StringBundler(28);
650    
651                    sb.append("<model><model-name>");
652                    sb.append("com.liferay.portlet.expando.model.ExpandoValue");
653                    sb.append("</model-name>");
654    
655                    sb.append(
656                            "<column><column-name>valueId</column-name><column-value><![CDATA[");
657                    sb.append(getValueId());
658                    sb.append("]]></column-value></column>");
659                    sb.append(
660                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
661                    sb.append(getCompanyId());
662                    sb.append("]]></column-value></column>");
663                    sb.append(
664                            "<column><column-name>tableId</column-name><column-value><![CDATA[");
665                    sb.append(getTableId());
666                    sb.append("]]></column-value></column>");
667                    sb.append(
668                            "<column><column-name>columnId</column-name><column-value><![CDATA[");
669                    sb.append(getColumnId());
670                    sb.append("]]></column-value></column>");
671                    sb.append(
672                            "<column><column-name>rowId</column-name><column-value><![CDATA[");
673                    sb.append(getRowId());
674                    sb.append("]]></column-value></column>");
675                    sb.append(
676                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
677                    sb.append(getClassNameId());
678                    sb.append("]]></column-value></column>");
679                    sb.append(
680                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
681                    sb.append(getClassPK());
682                    sb.append("]]></column-value></column>");
683                    sb.append(
684                            "<column><column-name>data</column-name><column-value><![CDATA[");
685                    sb.append(getData());
686                    sb.append("]]></column-value></column>");
687    
688                    sb.append("</model>");
689    
690                    return sb.toString();
691            }
692    
693            private static final ClassLoader _classLoader = ExpandoValue.class.getClassLoader();
694            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
695                            ExpandoValue.class
696                    };
697            private long _valueId;
698            private long _companyId;
699            private long _tableId;
700            private long _originalTableId;
701            private boolean _setOriginalTableId;
702            private long _columnId;
703            private long _originalColumnId;
704            private boolean _setOriginalColumnId;
705            private long _rowId;
706            private long _originalRowId;
707            private boolean _setOriginalRowId;
708            private long _classNameId;
709            private long _originalClassNameId;
710            private boolean _setOriginalClassNameId;
711            private long _classPK;
712            private long _originalClassPK;
713            private boolean _setOriginalClassPK;
714            private String _data;
715            private String _originalData;
716            private long _columnBitmask;
717            private ExpandoValue _escapedModel;
718    }