001    /**
002     * Copyright (c) 2000-2012 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.messageboards.model.impl;
016    
017    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.util.GetterUtil;
019    import com.liferay.portal.kernel.util.ProxyUtil;
020    import com.liferay.portal.kernel.util.StringBundler;
021    import com.liferay.portal.kernel.util.StringPool;
022    import com.liferay.portal.kernel.util.Validator;
023    import com.liferay.portal.model.CacheModel;
024    import com.liferay.portal.model.impl.BaseModelImpl;
025    import com.liferay.portal.service.ServiceContext;
026    import com.liferay.portal.util.PortalUtil;
027    
028    import com.liferay.portlet.expando.model.ExpandoBridge;
029    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
030    import com.liferay.portlet.messageboards.model.MBDiscussion;
031    import com.liferay.portlet.messageboards.model.MBDiscussionModel;
032    
033    import java.io.Serializable;
034    
035    import java.sql.Types;
036    
037    import java.util.HashMap;
038    import java.util.Map;
039    
040    /**
041     * The base model implementation for the MBDiscussion service. Represents a row in the "MBDiscussion" database table, with each column mapped to a property of this class.
042     *
043     * <p>
044     * This implementation and its corresponding interface {@link com.liferay.portlet.messageboards.model.MBDiscussionModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link MBDiscussionImpl}.
045     * </p>
046     *
047     * @author Brian Wing Shun Chan
048     * @see MBDiscussionImpl
049     * @see com.liferay.portlet.messageboards.model.MBDiscussion
050     * @see com.liferay.portlet.messageboards.model.MBDiscussionModel
051     * @generated
052     */
053    public class MBDiscussionModelImpl extends BaseModelImpl<MBDiscussion>
054            implements MBDiscussionModel {
055            /*
056             * NOTE FOR DEVELOPERS:
057             *
058             * Never modify or reference this class directly. All methods that expect a message boards discussion model instance should use the {@link com.liferay.portlet.messageboards.model.MBDiscussion} interface instead.
059             */
060            public static final String TABLE_NAME = "MBDiscussion";
061            public static final Object[][] TABLE_COLUMNS = {
062                            { "discussionId", Types.BIGINT },
063                            { "classNameId", Types.BIGINT },
064                            { "classPK", Types.BIGINT },
065                            { "threadId", Types.BIGINT }
066                    };
067            public static final String TABLE_SQL_CREATE = "create table MBDiscussion (discussionId LONG not null primary key,classNameId LONG,classPK LONG,threadId LONG)";
068            public static final String TABLE_SQL_DROP = "drop table MBDiscussion";
069            public static final String ORDER_BY_JPQL = " ORDER BY mbDiscussion.discussionId ASC";
070            public static final String ORDER_BY_SQL = " ORDER BY MBDiscussion.discussionId ASC";
071            public static final String DATA_SOURCE = "liferayDataSource";
072            public static final String SESSION_FACTORY = "liferaySessionFactory";
073            public static final String TX_MANAGER = "liferayTransactionManager";
074            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
075                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
076                            true);
077            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
078                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
079                            true);
080            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
081                                    "value.object.column.bitmask.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
082                            true);
083            public static long CLASSNAMEID_COLUMN_BITMASK = 1L;
084            public static long CLASSPK_COLUMN_BITMASK = 2L;
085            public static long THREADID_COLUMN_BITMASK = 4L;
086            public static long DISCUSSIONID_COLUMN_BITMASK = 8L;
087            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
088                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBDiscussion"));
089    
090            public MBDiscussionModelImpl() {
091            }
092    
093            public long getPrimaryKey() {
094                    return _discussionId;
095            }
096    
097            public void setPrimaryKey(long primaryKey) {
098                    setDiscussionId(primaryKey);
099            }
100    
101            public Serializable getPrimaryKeyObj() {
102                    return _discussionId;
103            }
104    
105            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
106                    setPrimaryKey(((Long)primaryKeyObj).longValue());
107            }
108    
109            public Class<?> getModelClass() {
110                    return MBDiscussion.class;
111            }
112    
113            public String getModelClassName() {
114                    return MBDiscussion.class.getName();
115            }
116    
117            @Override
118            public Map<String, Object> getModelAttributes() {
119                    Map<String, Object> attributes = new HashMap<String, Object>();
120    
121                    attributes.put("discussionId", getDiscussionId());
122                    attributes.put("classNameId", getClassNameId());
123                    attributes.put("classPK", getClassPK());
124                    attributes.put("threadId", getThreadId());
125    
126                    return attributes;
127            }
128    
129            @Override
130            public void setModelAttributes(Map<String, Object> attributes) {
131                    Long discussionId = (Long)attributes.get("discussionId");
132    
133                    if (discussionId != null) {
134                            setDiscussionId(discussionId);
135                    }
136    
137                    Long classNameId = (Long)attributes.get("classNameId");
138    
139                    if (classNameId != null) {
140                            setClassNameId(classNameId);
141                    }
142    
143                    Long classPK = (Long)attributes.get("classPK");
144    
145                    if (classPK != null) {
146                            setClassPK(classPK);
147                    }
148    
149                    Long threadId = (Long)attributes.get("threadId");
150    
151                    if (threadId != null) {
152                            setThreadId(threadId);
153                    }
154            }
155    
156            public long getDiscussionId() {
157                    return _discussionId;
158            }
159    
160            public void setDiscussionId(long discussionId) {
161                    _discussionId = discussionId;
162            }
163    
164            public String getClassName() {
165                    if (getClassNameId() <= 0) {
166                            return StringPool.BLANK;
167                    }
168    
169                    return PortalUtil.getClassName(getClassNameId());
170            }
171    
172            public void setClassName(String className) {
173                    long classNameId = 0;
174    
175                    if (Validator.isNotNull(className)) {
176                            classNameId = PortalUtil.getClassNameId(className);
177                    }
178    
179                    setClassNameId(classNameId);
180            }
181    
182            public long getClassNameId() {
183                    return _classNameId;
184            }
185    
186            public void setClassNameId(long classNameId) {
187                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
188    
189                    if (!_setOriginalClassNameId) {
190                            _setOriginalClassNameId = true;
191    
192                            _originalClassNameId = _classNameId;
193                    }
194    
195                    _classNameId = classNameId;
196            }
197    
198            public long getOriginalClassNameId() {
199                    return _originalClassNameId;
200            }
201    
202            public long getClassPK() {
203                    return _classPK;
204            }
205    
206            public void setClassPK(long classPK) {
207                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
208    
209                    if (!_setOriginalClassPK) {
210                            _setOriginalClassPK = true;
211    
212                            _originalClassPK = _classPK;
213                    }
214    
215                    _classPK = classPK;
216            }
217    
218            public long getOriginalClassPK() {
219                    return _originalClassPK;
220            }
221    
222            public long getThreadId() {
223                    return _threadId;
224            }
225    
226            public void setThreadId(long threadId) {
227                    _columnBitmask |= THREADID_COLUMN_BITMASK;
228    
229                    if (!_setOriginalThreadId) {
230                            _setOriginalThreadId = true;
231    
232                            _originalThreadId = _threadId;
233                    }
234    
235                    _threadId = threadId;
236            }
237    
238            public long getOriginalThreadId() {
239                    return _originalThreadId;
240            }
241    
242            public long getColumnBitmask() {
243                    return _columnBitmask;
244            }
245    
246            @Override
247            public ExpandoBridge getExpandoBridge() {
248                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
249                            MBDiscussion.class.getName(), getPrimaryKey());
250            }
251    
252            @Override
253            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
254                    ExpandoBridge expandoBridge = getExpandoBridge();
255    
256                    expandoBridge.setAttributes(serviceContext);
257            }
258    
259            @Override
260            public MBDiscussion toEscapedModel() {
261                    if (_escapedModel == null) {
262                            _escapedModel = (MBDiscussion)ProxyUtil.newProxyInstance(_classLoader,
263                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
264                    }
265    
266                    return _escapedModel;
267            }
268    
269            @Override
270            public Object clone() {
271                    MBDiscussionImpl mbDiscussionImpl = new MBDiscussionImpl();
272    
273                    mbDiscussionImpl.setDiscussionId(getDiscussionId());
274                    mbDiscussionImpl.setClassNameId(getClassNameId());
275                    mbDiscussionImpl.setClassPK(getClassPK());
276                    mbDiscussionImpl.setThreadId(getThreadId());
277    
278                    mbDiscussionImpl.resetOriginalValues();
279    
280                    return mbDiscussionImpl;
281            }
282    
283            public int compareTo(MBDiscussion mbDiscussion) {
284                    long primaryKey = mbDiscussion.getPrimaryKey();
285    
286                    if (getPrimaryKey() < primaryKey) {
287                            return -1;
288                    }
289                    else if (getPrimaryKey() > primaryKey) {
290                            return 1;
291                    }
292                    else {
293                            return 0;
294                    }
295            }
296    
297            @Override
298            public boolean equals(Object obj) {
299                    if (obj == null) {
300                            return false;
301                    }
302    
303                    MBDiscussion mbDiscussion = null;
304    
305                    try {
306                            mbDiscussion = (MBDiscussion)obj;
307                    }
308                    catch (ClassCastException cce) {
309                            return false;
310                    }
311    
312                    long primaryKey = mbDiscussion.getPrimaryKey();
313    
314                    if (getPrimaryKey() == primaryKey) {
315                            return true;
316                    }
317                    else {
318                            return false;
319                    }
320            }
321    
322            @Override
323            public int hashCode() {
324                    return (int)getPrimaryKey();
325            }
326    
327            @Override
328            public void resetOriginalValues() {
329                    MBDiscussionModelImpl mbDiscussionModelImpl = this;
330    
331                    mbDiscussionModelImpl._originalClassNameId = mbDiscussionModelImpl._classNameId;
332    
333                    mbDiscussionModelImpl._setOriginalClassNameId = false;
334    
335                    mbDiscussionModelImpl._originalClassPK = mbDiscussionModelImpl._classPK;
336    
337                    mbDiscussionModelImpl._setOriginalClassPK = false;
338    
339                    mbDiscussionModelImpl._originalThreadId = mbDiscussionModelImpl._threadId;
340    
341                    mbDiscussionModelImpl._setOriginalThreadId = false;
342    
343                    mbDiscussionModelImpl._columnBitmask = 0;
344            }
345    
346            @Override
347            public CacheModel<MBDiscussion> toCacheModel() {
348                    MBDiscussionCacheModel mbDiscussionCacheModel = new MBDiscussionCacheModel();
349    
350                    mbDiscussionCacheModel.discussionId = getDiscussionId();
351    
352                    mbDiscussionCacheModel.classNameId = getClassNameId();
353    
354                    mbDiscussionCacheModel.classPK = getClassPK();
355    
356                    mbDiscussionCacheModel.threadId = getThreadId();
357    
358                    return mbDiscussionCacheModel;
359            }
360    
361            @Override
362            public String toString() {
363                    StringBundler sb = new StringBundler(9);
364    
365                    sb.append("{discussionId=");
366                    sb.append(getDiscussionId());
367                    sb.append(", classNameId=");
368                    sb.append(getClassNameId());
369                    sb.append(", classPK=");
370                    sb.append(getClassPK());
371                    sb.append(", threadId=");
372                    sb.append(getThreadId());
373                    sb.append("}");
374    
375                    return sb.toString();
376            }
377    
378            public String toXmlString() {
379                    StringBundler sb = new StringBundler(16);
380    
381                    sb.append("<model><model-name>");
382                    sb.append("com.liferay.portlet.messageboards.model.MBDiscussion");
383                    sb.append("</model-name>");
384    
385                    sb.append(
386                            "<column><column-name>discussionId</column-name><column-value><![CDATA[");
387                    sb.append(getDiscussionId());
388                    sb.append("]]></column-value></column>");
389                    sb.append(
390                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
391                    sb.append(getClassNameId());
392                    sb.append("]]></column-value></column>");
393                    sb.append(
394                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
395                    sb.append(getClassPK());
396                    sb.append("]]></column-value></column>");
397                    sb.append(
398                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
399                    sb.append(getThreadId());
400                    sb.append("]]></column-value></column>");
401    
402                    sb.append("</model>");
403    
404                    return sb.toString();
405            }
406    
407            private static ClassLoader _classLoader = MBDiscussion.class.getClassLoader();
408            private static Class<?>[] _escapedModelInterfaces = new Class[] {
409                            MBDiscussion.class
410                    };
411            private long _discussionId;
412            private long _classNameId;
413            private long _originalClassNameId;
414            private boolean _setOriginalClassNameId;
415            private long _classPK;
416            private long _originalClassPK;
417            private boolean _setOriginalClassPK;
418            private long _threadId;
419            private long _originalThreadId;
420            private boolean _setOriginalThreadId;
421            private long _columnBitmask;
422            private MBDiscussion _escapedModel;
423    }