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.model.CacheModel;
023    import com.liferay.portal.model.impl.BaseModelImpl;
024    import com.liferay.portal.service.ServiceContext;
025    import com.liferay.portal.util.PortalUtil;
026    
027    import com.liferay.portlet.expando.model.ExpandoBridge;
028    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
029    import com.liferay.portlet.messageboards.model.MBDiscussion;
030    import com.liferay.portlet.messageboards.model.MBDiscussionModel;
031    
032    import java.io.Serializable;
033    
034    import java.sql.Types;
035    
036    /**
037     * 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.
038     *
039     * <p>
040     * 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}.
041     * </p>
042     *
043     * @author Brian Wing Shun Chan
044     * @see MBDiscussionImpl
045     * @see com.liferay.portlet.messageboards.model.MBDiscussion
046     * @see com.liferay.portlet.messageboards.model.MBDiscussionModel
047     * @generated
048     */
049    public class MBDiscussionModelImpl extends BaseModelImpl<MBDiscussion>
050            implements MBDiscussionModel {
051            /*
052             * NOTE FOR DEVELOPERS:
053             *
054             * 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.
055             */
056            public static final String TABLE_NAME = "MBDiscussion";
057            public static final Object[][] TABLE_COLUMNS = {
058                            { "discussionId", Types.BIGINT },
059                            { "classNameId", Types.BIGINT },
060                            { "classPK", Types.BIGINT },
061                            { "threadId", Types.BIGINT }
062                    };
063            public static final String TABLE_SQL_CREATE = "create table MBDiscussion (discussionId LONG not null primary key,classNameId LONG,classPK LONG,threadId LONG)";
064            public static final String TABLE_SQL_DROP = "drop table MBDiscussion";
065            public static final String DATA_SOURCE = "liferayDataSource";
066            public static final String SESSION_FACTORY = "liferaySessionFactory";
067            public static final String TX_MANAGER = "liferayTransactionManager";
068            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
069                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
070                            true);
071            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
072                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
073                            true);
074            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
075                                    "value.object.column.bitmask.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
076                            true);
077            public static long CLASSNAMEID_COLUMN_BITMASK = 1L;
078            public static long CLASSPK_COLUMN_BITMASK = 2L;
079            public static long THREADID_COLUMN_BITMASK = 4L;
080            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
081                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBDiscussion"));
082    
083            public MBDiscussionModelImpl() {
084            }
085    
086            public long getPrimaryKey() {
087                    return _discussionId;
088            }
089    
090            public void setPrimaryKey(long primaryKey) {
091                    setDiscussionId(primaryKey);
092            }
093    
094            public Serializable getPrimaryKeyObj() {
095                    return new Long(_discussionId);
096            }
097    
098            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
099                    setPrimaryKey(((Long)primaryKeyObj).longValue());
100            }
101    
102            public Class<?> getModelClass() {
103                    return MBDiscussion.class;
104            }
105    
106            public String getModelClassName() {
107                    return MBDiscussion.class.getName();
108            }
109    
110            public long getDiscussionId() {
111                    return _discussionId;
112            }
113    
114            public void setDiscussionId(long discussionId) {
115                    _discussionId = discussionId;
116            }
117    
118            public String getClassName() {
119                    if (getClassNameId() <= 0) {
120                            return StringPool.BLANK;
121                    }
122    
123                    return PortalUtil.getClassName(getClassNameId());
124            }
125    
126            public long getClassNameId() {
127                    return _classNameId;
128            }
129    
130            public void setClassNameId(long classNameId) {
131                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
132    
133                    if (!_setOriginalClassNameId) {
134                            _setOriginalClassNameId = true;
135    
136                            _originalClassNameId = _classNameId;
137                    }
138    
139                    _classNameId = classNameId;
140            }
141    
142            public long getOriginalClassNameId() {
143                    return _originalClassNameId;
144            }
145    
146            public long getClassPK() {
147                    return _classPK;
148            }
149    
150            public void setClassPK(long classPK) {
151                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
152    
153                    if (!_setOriginalClassPK) {
154                            _setOriginalClassPK = true;
155    
156                            _originalClassPK = _classPK;
157                    }
158    
159                    _classPK = classPK;
160            }
161    
162            public long getOriginalClassPK() {
163                    return _originalClassPK;
164            }
165    
166            public long getThreadId() {
167                    return _threadId;
168            }
169    
170            public void setThreadId(long threadId) {
171                    _columnBitmask |= THREADID_COLUMN_BITMASK;
172    
173                    if (!_setOriginalThreadId) {
174                            _setOriginalThreadId = true;
175    
176                            _originalThreadId = _threadId;
177                    }
178    
179                    _threadId = threadId;
180            }
181    
182            public long getOriginalThreadId() {
183                    return _originalThreadId;
184            }
185    
186            public long getColumnBitmask() {
187                    return _columnBitmask;
188            }
189    
190            @Override
191            public MBDiscussion toEscapedModel() {
192                    if (_escapedModelProxy == null) {
193                            _escapedModelProxy = (MBDiscussion)ProxyUtil.newProxyInstance(_classLoader,
194                                            _escapedModelProxyInterfaces,
195                                            new AutoEscapeBeanHandler(this));
196                    }
197    
198                    return _escapedModelProxy;
199            }
200    
201            @Override
202            public ExpandoBridge getExpandoBridge() {
203                    if (_expandoBridge == null) {
204                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(0,
205                                            MBDiscussion.class.getName(), getPrimaryKey());
206                    }
207    
208                    return _expandoBridge;
209            }
210    
211            @Override
212            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
213                    getExpandoBridge().setAttributes(serviceContext);
214            }
215    
216            @Override
217            public Object clone() {
218                    MBDiscussionImpl mbDiscussionImpl = new MBDiscussionImpl();
219    
220                    mbDiscussionImpl.setDiscussionId(getDiscussionId());
221                    mbDiscussionImpl.setClassNameId(getClassNameId());
222                    mbDiscussionImpl.setClassPK(getClassPK());
223                    mbDiscussionImpl.setThreadId(getThreadId());
224    
225                    mbDiscussionImpl.resetOriginalValues();
226    
227                    return mbDiscussionImpl;
228            }
229    
230            public int compareTo(MBDiscussion mbDiscussion) {
231                    long primaryKey = mbDiscussion.getPrimaryKey();
232    
233                    if (getPrimaryKey() < primaryKey) {
234                            return -1;
235                    }
236                    else if (getPrimaryKey() > primaryKey) {
237                            return 1;
238                    }
239                    else {
240                            return 0;
241                    }
242            }
243    
244            @Override
245            public boolean equals(Object obj) {
246                    if (obj == null) {
247                            return false;
248                    }
249    
250                    MBDiscussion mbDiscussion = null;
251    
252                    try {
253                            mbDiscussion = (MBDiscussion)obj;
254                    }
255                    catch (ClassCastException cce) {
256                            return false;
257                    }
258    
259                    long primaryKey = mbDiscussion.getPrimaryKey();
260    
261                    if (getPrimaryKey() == primaryKey) {
262                            return true;
263                    }
264                    else {
265                            return false;
266                    }
267            }
268    
269            @Override
270            public int hashCode() {
271                    return (int)getPrimaryKey();
272            }
273    
274            @Override
275            public void resetOriginalValues() {
276                    MBDiscussionModelImpl mbDiscussionModelImpl = this;
277    
278                    mbDiscussionModelImpl._originalClassNameId = mbDiscussionModelImpl._classNameId;
279    
280                    mbDiscussionModelImpl._setOriginalClassNameId = false;
281    
282                    mbDiscussionModelImpl._originalClassPK = mbDiscussionModelImpl._classPK;
283    
284                    mbDiscussionModelImpl._setOriginalClassPK = false;
285    
286                    mbDiscussionModelImpl._originalThreadId = mbDiscussionModelImpl._threadId;
287    
288                    mbDiscussionModelImpl._setOriginalThreadId = false;
289    
290                    mbDiscussionModelImpl._columnBitmask = 0;
291            }
292    
293            @Override
294            public CacheModel<MBDiscussion> toCacheModel() {
295                    MBDiscussionCacheModel mbDiscussionCacheModel = new MBDiscussionCacheModel();
296    
297                    mbDiscussionCacheModel.discussionId = getDiscussionId();
298    
299                    mbDiscussionCacheModel.classNameId = getClassNameId();
300    
301                    mbDiscussionCacheModel.classPK = getClassPK();
302    
303                    mbDiscussionCacheModel.threadId = getThreadId();
304    
305                    return mbDiscussionCacheModel;
306            }
307    
308            @Override
309            public String toString() {
310                    StringBundler sb = new StringBundler(9);
311    
312                    sb.append("{discussionId=");
313                    sb.append(getDiscussionId());
314                    sb.append(", classNameId=");
315                    sb.append(getClassNameId());
316                    sb.append(", classPK=");
317                    sb.append(getClassPK());
318                    sb.append(", threadId=");
319                    sb.append(getThreadId());
320                    sb.append("}");
321    
322                    return sb.toString();
323            }
324    
325            public String toXmlString() {
326                    StringBundler sb = new StringBundler(16);
327    
328                    sb.append("<model><model-name>");
329                    sb.append("com.liferay.portlet.messageboards.model.MBDiscussion");
330                    sb.append("</model-name>");
331    
332                    sb.append(
333                            "<column><column-name>discussionId</column-name><column-value><![CDATA[");
334                    sb.append(getDiscussionId());
335                    sb.append("]]></column-value></column>");
336                    sb.append(
337                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
338                    sb.append(getClassNameId());
339                    sb.append("]]></column-value></column>");
340                    sb.append(
341                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
342                    sb.append(getClassPK());
343                    sb.append("]]></column-value></column>");
344                    sb.append(
345                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
346                    sb.append(getThreadId());
347                    sb.append("]]></column-value></column>");
348    
349                    sb.append("</model>");
350    
351                    return sb.toString();
352            }
353    
354            private static ClassLoader _classLoader = MBDiscussion.class.getClassLoader();
355            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
356                            MBDiscussion.class
357                    };
358            private long _discussionId;
359            private long _classNameId;
360            private long _originalClassNameId;
361            private boolean _setOriginalClassNameId;
362            private long _classPK;
363            private long _originalClassPK;
364            private boolean _setOriginalClassPK;
365            private long _threadId;
366            private long _originalThreadId;
367            private boolean _setOriginalThreadId;
368            private transient ExpandoBridge _expandoBridge;
369            private long _columnBitmask;
370            private MBDiscussion _escapedModelProxy;
371    }