001    /**
002     * Copyright (c) 2000-2011 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.StringBundler;
020    import com.liferay.portal.kernel.util.StringPool;
021    import com.liferay.portal.model.impl.BaseModelImpl;
022    import com.liferay.portal.service.ServiceContext;
023    import com.liferay.portal.util.PortalUtil;
024    
025    import com.liferay.portlet.expando.model.ExpandoBridge;
026    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
027    import com.liferay.portlet.messageboards.model.MBDiscussion;
028    import com.liferay.portlet.messageboards.model.MBDiscussionModel;
029    
030    import java.io.Serializable;
031    
032    import java.lang.reflect.Proxy;
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     * <p>
044     * 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.
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            public static final String TABLE_NAME = "MBDiscussion";
056            public static final Object[][] TABLE_COLUMNS = {
057                            { "discussionId", new Integer(Types.BIGINT) },
058                            { "classNameId", new Integer(Types.BIGINT) },
059                            { "classPK", new Integer(Types.BIGINT) },
060                            { "threadId", new Integer(Types.BIGINT) }
061                    };
062            public static final String TABLE_SQL_CREATE = "create table MBDiscussion (discussionId LONG not null primary key,classNameId LONG,classPK LONG,threadId LONG)";
063            public static final String TABLE_SQL_DROP = "drop table MBDiscussion";
064            public static final String DATA_SOURCE = "liferayDataSource";
065            public static final String SESSION_FACTORY = "liferaySessionFactory";
066            public static final String TX_MANAGER = "liferayTransactionManager";
067            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
068                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
069                            true);
070            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
071                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
072                            true);
073            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
074                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBDiscussion"));
075    
076            public MBDiscussionModelImpl() {
077            }
078    
079            public long getPrimaryKey() {
080                    return _discussionId;
081            }
082    
083            public void setPrimaryKey(long pk) {
084                    setDiscussionId(pk);
085            }
086    
087            public Serializable getPrimaryKeyObj() {
088                    return new Long(_discussionId);
089            }
090    
091            public long getDiscussionId() {
092                    return _discussionId;
093            }
094    
095            public void setDiscussionId(long discussionId) {
096                    _discussionId = discussionId;
097            }
098    
099            public String getClassName() {
100                    if (getClassNameId() <= 0) {
101                            return StringPool.BLANK;
102                    }
103    
104                    return PortalUtil.getClassName(getClassNameId());
105            }
106    
107            public long getClassNameId() {
108                    return _classNameId;
109            }
110    
111            public void setClassNameId(long classNameId) {
112                    if (!_setOriginalClassNameId) {
113                            _setOriginalClassNameId = true;
114    
115                            _originalClassNameId = _classNameId;
116                    }
117    
118                    _classNameId = classNameId;
119            }
120    
121            public long getOriginalClassNameId() {
122                    return _originalClassNameId;
123            }
124    
125            public long getClassPK() {
126                    return _classPK;
127            }
128    
129            public void setClassPK(long classPK) {
130                    if (!_setOriginalClassPK) {
131                            _setOriginalClassPK = true;
132    
133                            _originalClassPK = _classPK;
134                    }
135    
136                    _classPK = classPK;
137            }
138    
139            public long getOriginalClassPK() {
140                    return _originalClassPK;
141            }
142    
143            public long getThreadId() {
144                    return _threadId;
145            }
146    
147            public void setThreadId(long threadId) {
148                    if (!_setOriginalThreadId) {
149                            _setOriginalThreadId = true;
150    
151                            _originalThreadId = _threadId;
152                    }
153    
154                    _threadId = threadId;
155            }
156    
157            public long getOriginalThreadId() {
158                    return _originalThreadId;
159            }
160    
161            public MBDiscussion toEscapedModel() {
162                    if (isEscapedModel()) {
163                            return (MBDiscussion)this;
164                    }
165                    else {
166                            return (MBDiscussion)Proxy.newProxyInstance(MBDiscussion.class.getClassLoader(),
167                                    new Class[] { MBDiscussion.class },
168                                    new AutoEscapeBeanHandler(this));
169                    }
170            }
171    
172            public ExpandoBridge getExpandoBridge() {
173                    if (_expandoBridge == null) {
174                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(0,
175                                            MBDiscussion.class.getName(), getPrimaryKey());
176                    }
177    
178                    return _expandoBridge;
179            }
180    
181            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
182                    getExpandoBridge().setAttributes(serviceContext);
183            }
184    
185            public Object clone() {
186                    MBDiscussionImpl mbDiscussionImpl = new MBDiscussionImpl();
187    
188                    mbDiscussionImpl.setDiscussionId(getDiscussionId());
189    
190                    mbDiscussionImpl.setClassNameId(getClassNameId());
191    
192                    MBDiscussionModelImpl mbDiscussionModelImpl = mbDiscussionImpl;
193    
194                    mbDiscussionModelImpl._originalClassNameId = mbDiscussionModelImpl._classNameId;
195    
196                    mbDiscussionModelImpl._setOriginalClassNameId = false;
197                    mbDiscussionImpl.setClassPK(getClassPK());
198    
199                    mbDiscussionModelImpl._originalClassPK = mbDiscussionModelImpl._classPK;
200    
201                    mbDiscussionModelImpl._setOriginalClassPK = false;
202                    mbDiscussionImpl.setThreadId(getThreadId());
203    
204                    mbDiscussionModelImpl._originalThreadId = mbDiscussionModelImpl._threadId;
205    
206                    mbDiscussionModelImpl._setOriginalThreadId = false;
207    
208                    return mbDiscussionImpl;
209            }
210    
211            public int compareTo(MBDiscussion mbDiscussion) {
212                    long pk = mbDiscussion.getPrimaryKey();
213    
214                    if (getPrimaryKey() < pk) {
215                            return -1;
216                    }
217                    else if (getPrimaryKey() > pk) {
218                            return 1;
219                    }
220                    else {
221                            return 0;
222                    }
223            }
224    
225            public boolean equals(Object obj) {
226                    if (obj == null) {
227                            return false;
228                    }
229    
230                    MBDiscussion mbDiscussion = null;
231    
232                    try {
233                            mbDiscussion = (MBDiscussion)obj;
234                    }
235                    catch (ClassCastException cce) {
236                            return false;
237                    }
238    
239                    long pk = mbDiscussion.getPrimaryKey();
240    
241                    if (getPrimaryKey() == pk) {
242                            return true;
243                    }
244                    else {
245                            return false;
246                    }
247            }
248    
249            public int hashCode() {
250                    return (int)getPrimaryKey();
251            }
252    
253            public String toString() {
254                    StringBundler sb = new StringBundler(9);
255    
256                    sb.append("{discussionId=");
257                    sb.append(getDiscussionId());
258                    sb.append(", classNameId=");
259                    sb.append(getClassNameId());
260                    sb.append(", classPK=");
261                    sb.append(getClassPK());
262                    sb.append(", threadId=");
263                    sb.append(getThreadId());
264                    sb.append("}");
265    
266                    return sb.toString();
267            }
268    
269            public String toXmlString() {
270                    StringBundler sb = new StringBundler(16);
271    
272                    sb.append("<model><model-name>");
273                    sb.append("com.liferay.portlet.messageboards.model.MBDiscussion");
274                    sb.append("</model-name>");
275    
276                    sb.append(
277                            "<column><column-name>discussionId</column-name><column-value><![CDATA[");
278                    sb.append(getDiscussionId());
279                    sb.append("]]></column-value></column>");
280                    sb.append(
281                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
282                    sb.append(getClassNameId());
283                    sb.append("]]></column-value></column>");
284                    sb.append(
285                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
286                    sb.append(getClassPK());
287                    sb.append("]]></column-value></column>");
288                    sb.append(
289                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
290                    sb.append(getThreadId());
291                    sb.append("]]></column-value></column>");
292    
293                    sb.append("</model>");
294    
295                    return sb.toString();
296            }
297    
298            private long _discussionId;
299            private long _classNameId;
300            private long _originalClassNameId;
301            private boolean _setOriginalClassNameId;
302            private long _classPK;
303            private long _originalClassPK;
304            private boolean _setOriginalClassPK;
305            private long _threadId;
306            private long _originalThreadId;
307            private boolean _setOriginalThreadId;
308            private transient ExpandoBridge _expandoBridge;
309    }