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