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.portal.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.util.GetterUtil;
021    import com.liferay.portal.kernel.util.ProxyUtil;
022    import com.liferay.portal.kernel.util.StringBundler;
023    import com.liferay.portal.kernel.util.StringPool;
024    import com.liferay.portal.kernel.util.Validator;
025    import com.liferay.portal.model.CacheModel;
026    import com.liferay.portal.model.Shard;
027    import com.liferay.portal.model.ShardModel;
028    import com.liferay.portal.service.ServiceContext;
029    import com.liferay.portal.util.PortalUtil;
030    
031    import com.liferay.portlet.expando.model.ExpandoBridge;
032    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
033    
034    import java.io.Serializable;
035    
036    import java.sql.Types;
037    
038    import java.util.HashMap;
039    import java.util.Map;
040    
041    /**
042     * The base model implementation for the Shard service. Represents a row in the "Shard" database table, with each column mapped to a property of this class.
043     *
044     * <p>
045     * This implementation and its corresponding interface {@link ShardModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ShardImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see ShardImpl
050     * @see Shard
051     * @see ShardModel
052     * @generated
053     */
054    @ProviderType
055    public class ShardModelImpl extends BaseModelImpl<Shard> implements ShardModel {
056            /*
057             * NOTE FOR DEVELOPERS:
058             *
059             * Never modify or reference this class directly. All methods that expect a shard model instance should use the {@link Shard} interface instead.
060             */
061            public static final String TABLE_NAME = "Shard";
062            public static final Object[][] TABLE_COLUMNS = {
063                            { "mvccVersion", Types.BIGINT },
064                            { "shardId", Types.BIGINT },
065                            { "classNameId", Types.BIGINT },
066                            { "classPK", Types.BIGINT },
067                            { "name", Types.VARCHAR }
068                    };
069            public static final String TABLE_SQL_CREATE = "create table Shard (mvccVersion LONG default 0,shardId LONG not null primary key,classNameId LONG,classPK LONG,name VARCHAR(75) null)";
070            public static final String TABLE_SQL_DROP = "drop table Shard";
071            public static final String ORDER_BY_JPQL = " ORDER BY shard.shardId ASC";
072            public static final String ORDER_BY_SQL = " ORDER BY Shard.shardId ASC";
073            public static final String DATA_SOURCE = "liferayDataSource";
074            public static final String SESSION_FACTORY = "liferaySessionFactory";
075            public static final String TX_MANAGER = "liferayTransactionManager";
076            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
077                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Shard"),
078                            true);
079            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
080                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Shard"),
081                            true);
082            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
083                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Shard"),
084                            true);
085            public static final long CLASSNAMEID_COLUMN_BITMASK = 1L;
086            public static final long CLASSPK_COLUMN_BITMASK = 2L;
087            public static final long NAME_COLUMN_BITMASK = 4L;
088            public static final long SHARDID_COLUMN_BITMASK = 8L;
089            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
090                                    "lock.expiration.time.com.liferay.portal.model.Shard"));
091    
092            public ShardModelImpl() {
093            }
094    
095            @Override
096            public long getPrimaryKey() {
097                    return _shardId;
098            }
099    
100            @Override
101            public void setPrimaryKey(long primaryKey) {
102                    setShardId(primaryKey);
103            }
104    
105            @Override
106            public Serializable getPrimaryKeyObj() {
107                    return _shardId;
108            }
109    
110            @Override
111            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
112                    setPrimaryKey(((Long)primaryKeyObj).longValue());
113            }
114    
115            @Override
116            public Class<?> getModelClass() {
117                    return Shard.class;
118            }
119    
120            @Override
121            public String getModelClassName() {
122                    return Shard.class.getName();
123            }
124    
125            @Override
126            public Map<String, Object> getModelAttributes() {
127                    Map<String, Object> attributes = new HashMap<String, Object>();
128    
129                    attributes.put("mvccVersion", getMvccVersion());
130                    attributes.put("shardId", getShardId());
131                    attributes.put("classNameId", getClassNameId());
132                    attributes.put("classPK", getClassPK());
133                    attributes.put("name", getName());
134    
135                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
136                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
137    
138                    return attributes;
139            }
140    
141            @Override
142            public void setModelAttributes(Map<String, Object> attributes) {
143                    Long mvccVersion = (Long)attributes.get("mvccVersion");
144    
145                    if (mvccVersion != null) {
146                            setMvccVersion(mvccVersion);
147                    }
148    
149                    Long shardId = (Long)attributes.get("shardId");
150    
151                    if (shardId != null) {
152                            setShardId(shardId);
153                    }
154    
155                    Long classNameId = (Long)attributes.get("classNameId");
156    
157                    if (classNameId != null) {
158                            setClassNameId(classNameId);
159                    }
160    
161                    Long classPK = (Long)attributes.get("classPK");
162    
163                    if (classPK != null) {
164                            setClassPK(classPK);
165                    }
166    
167                    String name = (String)attributes.get("name");
168    
169                    if (name != null) {
170                            setName(name);
171                    }
172            }
173    
174            @Override
175            public long getMvccVersion() {
176                    return _mvccVersion;
177            }
178    
179            @Override
180            public void setMvccVersion(long mvccVersion) {
181                    _mvccVersion = mvccVersion;
182            }
183    
184            @Override
185            public long getShardId() {
186                    return _shardId;
187            }
188    
189            @Override
190            public void setShardId(long shardId) {
191                    _shardId = shardId;
192            }
193    
194            @Override
195            public String getClassName() {
196                    if (getClassNameId() <= 0) {
197                            return StringPool.BLANK;
198                    }
199    
200                    return PortalUtil.getClassName(getClassNameId());
201            }
202    
203            @Override
204            public void setClassName(String className) {
205                    long classNameId = 0;
206    
207                    if (Validator.isNotNull(className)) {
208                            classNameId = PortalUtil.getClassNameId(className);
209                    }
210    
211                    setClassNameId(classNameId);
212            }
213    
214            @Override
215            public long getClassNameId() {
216                    return _classNameId;
217            }
218    
219            @Override
220            public void setClassNameId(long classNameId) {
221                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
222    
223                    if (!_setOriginalClassNameId) {
224                            _setOriginalClassNameId = true;
225    
226                            _originalClassNameId = _classNameId;
227                    }
228    
229                    _classNameId = classNameId;
230            }
231    
232            public long getOriginalClassNameId() {
233                    return _originalClassNameId;
234            }
235    
236            @Override
237            public long getClassPK() {
238                    return _classPK;
239            }
240    
241            @Override
242            public void setClassPK(long classPK) {
243                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
244    
245                    if (!_setOriginalClassPK) {
246                            _setOriginalClassPK = true;
247    
248                            _originalClassPK = _classPK;
249                    }
250    
251                    _classPK = classPK;
252            }
253    
254            public long getOriginalClassPK() {
255                    return _originalClassPK;
256            }
257    
258            @Override
259            public String getName() {
260                    if (_name == null) {
261                            return StringPool.BLANK;
262                    }
263                    else {
264                            return _name;
265                    }
266            }
267    
268            @Override
269            public void setName(String name) {
270                    _columnBitmask |= NAME_COLUMN_BITMASK;
271    
272                    if (_originalName == null) {
273                            _originalName = _name;
274                    }
275    
276                    _name = name;
277            }
278    
279            public String getOriginalName() {
280                    return GetterUtil.getString(_originalName);
281            }
282    
283            public long getColumnBitmask() {
284                    return _columnBitmask;
285            }
286    
287            @Override
288            public ExpandoBridge getExpandoBridge() {
289                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
290                            Shard.class.getName(), getPrimaryKey());
291            }
292    
293            @Override
294            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
295                    ExpandoBridge expandoBridge = getExpandoBridge();
296    
297                    expandoBridge.setAttributes(serviceContext);
298            }
299    
300            @Override
301            public Shard toEscapedModel() {
302                    if (_escapedModel == null) {
303                            _escapedModel = (Shard)ProxyUtil.newProxyInstance(_classLoader,
304                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
305                    }
306    
307                    return _escapedModel;
308            }
309    
310            @Override
311            public Object clone() {
312                    ShardImpl shardImpl = new ShardImpl();
313    
314                    shardImpl.setMvccVersion(getMvccVersion());
315                    shardImpl.setShardId(getShardId());
316                    shardImpl.setClassNameId(getClassNameId());
317                    shardImpl.setClassPK(getClassPK());
318                    shardImpl.setName(getName());
319    
320                    shardImpl.resetOriginalValues();
321    
322                    return shardImpl;
323            }
324    
325            @Override
326            public int compareTo(Shard shard) {
327                    long primaryKey = shard.getPrimaryKey();
328    
329                    if (getPrimaryKey() < primaryKey) {
330                            return -1;
331                    }
332                    else if (getPrimaryKey() > primaryKey) {
333                            return 1;
334                    }
335                    else {
336                            return 0;
337                    }
338            }
339    
340            @Override
341            public boolean equals(Object obj) {
342                    if (this == obj) {
343                            return true;
344                    }
345    
346                    if (!(obj instanceof Shard)) {
347                            return false;
348                    }
349    
350                    Shard shard = (Shard)obj;
351    
352                    long primaryKey = shard.getPrimaryKey();
353    
354                    if (getPrimaryKey() == primaryKey) {
355                            return true;
356                    }
357                    else {
358                            return false;
359                    }
360            }
361    
362            @Override
363            public int hashCode() {
364                    return (int)getPrimaryKey();
365            }
366    
367            @Override
368            public boolean isEntityCacheEnabled() {
369                    return ENTITY_CACHE_ENABLED;
370            }
371    
372            @Override
373            public boolean isFinderCacheEnabled() {
374                    return FINDER_CACHE_ENABLED;
375            }
376    
377            @Override
378            public void resetOriginalValues() {
379                    ShardModelImpl shardModelImpl = this;
380    
381                    shardModelImpl._originalClassNameId = shardModelImpl._classNameId;
382    
383                    shardModelImpl._setOriginalClassNameId = false;
384    
385                    shardModelImpl._originalClassPK = shardModelImpl._classPK;
386    
387                    shardModelImpl._setOriginalClassPK = false;
388    
389                    shardModelImpl._originalName = shardModelImpl._name;
390    
391                    shardModelImpl._columnBitmask = 0;
392            }
393    
394            @Override
395            public CacheModel<Shard> toCacheModel() {
396                    ShardCacheModel shardCacheModel = new ShardCacheModel();
397    
398                    shardCacheModel.mvccVersion = getMvccVersion();
399    
400                    shardCacheModel.shardId = getShardId();
401    
402                    shardCacheModel.classNameId = getClassNameId();
403    
404                    shardCacheModel.classPK = getClassPK();
405    
406                    shardCacheModel.name = getName();
407    
408                    String name = shardCacheModel.name;
409    
410                    if ((name != null) && (name.length() == 0)) {
411                            shardCacheModel.name = null;
412                    }
413    
414                    return shardCacheModel;
415            }
416    
417            @Override
418            public String toString() {
419                    StringBundler sb = new StringBundler(11);
420    
421                    sb.append("{mvccVersion=");
422                    sb.append(getMvccVersion());
423                    sb.append(", shardId=");
424                    sb.append(getShardId());
425                    sb.append(", classNameId=");
426                    sb.append(getClassNameId());
427                    sb.append(", classPK=");
428                    sb.append(getClassPK());
429                    sb.append(", name=");
430                    sb.append(getName());
431                    sb.append("}");
432    
433                    return sb.toString();
434            }
435    
436            @Override
437            public String toXmlString() {
438                    StringBundler sb = new StringBundler(19);
439    
440                    sb.append("<model><model-name>");
441                    sb.append("com.liferay.portal.model.Shard");
442                    sb.append("</model-name>");
443    
444                    sb.append(
445                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
446                    sb.append(getMvccVersion());
447                    sb.append("]]></column-value></column>");
448                    sb.append(
449                            "<column><column-name>shardId</column-name><column-value><![CDATA[");
450                    sb.append(getShardId());
451                    sb.append("]]></column-value></column>");
452                    sb.append(
453                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
454                    sb.append(getClassNameId());
455                    sb.append("]]></column-value></column>");
456                    sb.append(
457                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
458                    sb.append(getClassPK());
459                    sb.append("]]></column-value></column>");
460                    sb.append(
461                            "<column><column-name>name</column-name><column-value><![CDATA[");
462                    sb.append(getName());
463                    sb.append("]]></column-value></column>");
464    
465                    sb.append("</model>");
466    
467                    return sb.toString();
468            }
469    
470            private static final ClassLoader _classLoader = Shard.class.getClassLoader();
471            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
472                            Shard.class
473                    };
474            private long _mvccVersion;
475            private long _shardId;
476            private long _classNameId;
477            private long _originalClassNameId;
478            private boolean _setOriginalClassNameId;
479            private long _classPK;
480            private long _originalClassPK;
481            private boolean _setOriginalClassPK;
482            private String _name;
483            private String _originalName;
484            private long _columnBitmask;
485            private Shard _escapedModel;
486    }