001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
013     */
014    
015    package com.liferay.portlet.dynamicdatamapping.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.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.dynamicdatamapping.model.DDMStructureLink;
029    import com.liferay.portlet.dynamicdatamapping.model.DDMStructureLinkModel;
030    import com.liferay.portlet.dynamicdatamapping.model.DDMStructureLinkSoap;
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.ArrayList;
039    import java.util.List;
040    
041    /**
042     * The base model implementation for the DDMStructureLink service. Represents a row in the "DDMStructureLink" 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.dynamicdatamapping.model.DDMStructureLinkModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link DDMStructureLinkImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see DDMStructureLinkImpl
050     * @see com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink
051     * @see com.liferay.portlet.dynamicdatamapping.model.DDMStructureLinkModel
052     * @generated
053     */
054    @JSON(strict = true)
055    public class DDMStructureLinkModelImpl extends BaseModelImpl<DDMStructureLink>
056            implements DDMStructureLinkModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a d d m structure link model instance should use the {@link com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink} interface instead.
061             */
062            public static final String TABLE_NAME = "DDMStructureLink";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "structureLinkId", Types.BIGINT },
065                            { "classNameId", Types.BIGINT },
066                            { "classPK", Types.BIGINT },
067                            { "structureId", Types.BIGINT }
068                    };
069            public static final String TABLE_SQL_CREATE = "create table DDMStructureLink (structureLinkId LONG not null primary key,classNameId LONG,classPK LONG,structureId LONG)";
070            public static final String TABLE_SQL_DROP = "drop table DDMStructureLink";
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.dynamicdatamapping.model.DDMStructureLink"),
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.dynamicdatamapping.model.DDMStructureLink"),
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.dynamicdatamapping.model.DDMStructureLink"),
082                            true);
083            public static long CLASSNAMEID_COLUMN_BITMASK = 1L;
084            public static long CLASSPK_COLUMN_BITMASK = 2L;
085            public static long STRUCTUREID_COLUMN_BITMASK = 4L;
086    
087            /**
088             * Converts the soap model instance into a normal model instance.
089             *
090             * @param soapModel the soap model instance to convert
091             * @return the normal model instance
092             */
093            public static DDMStructureLink toModel(DDMStructureLinkSoap soapModel) {
094                    DDMStructureLink model = new DDMStructureLinkImpl();
095    
096                    model.setStructureLinkId(soapModel.getStructureLinkId());
097                    model.setClassNameId(soapModel.getClassNameId());
098                    model.setClassPK(soapModel.getClassPK());
099                    model.setStructureId(soapModel.getStructureId());
100    
101                    return model;
102            }
103    
104            /**
105             * Converts the soap model instances into normal model instances.
106             *
107             * @param soapModels the soap model instances to convert
108             * @return the normal model instances
109             */
110            public static List<DDMStructureLink> toModels(
111                    DDMStructureLinkSoap[] soapModels) {
112                    List<DDMStructureLink> models = new ArrayList<DDMStructureLink>(soapModels.length);
113    
114                    for (DDMStructureLinkSoap soapModel : soapModels) {
115                            models.add(toModel(soapModel));
116                    }
117    
118                    return models;
119            }
120    
121            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
122                                    "lock.expiration.time.com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink"));
123    
124            public DDMStructureLinkModelImpl() {
125            }
126    
127            public long getPrimaryKey() {
128                    return _structureLinkId;
129            }
130    
131            public void setPrimaryKey(long primaryKey) {
132                    setStructureLinkId(primaryKey);
133            }
134    
135            public Serializable getPrimaryKeyObj() {
136                    return new Long(_structureLinkId);
137            }
138    
139            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
140                    setPrimaryKey(((Long)primaryKeyObj).longValue());
141            }
142    
143            public Class<?> getModelClass() {
144                    return DDMStructureLink.class;
145            }
146    
147            public String getModelClassName() {
148                    return DDMStructureLink.class.getName();
149            }
150    
151            @JSON
152            public long getStructureLinkId() {
153                    return _structureLinkId;
154            }
155    
156            public void setStructureLinkId(long structureLinkId) {
157                    _structureLinkId = structureLinkId;
158            }
159    
160            public String getClassName() {
161                    if (getClassNameId() <= 0) {
162                            return StringPool.BLANK;
163                    }
164    
165                    return PortalUtil.getClassName(getClassNameId());
166            }
167    
168            @JSON
169            public long getClassNameId() {
170                    return _classNameId;
171            }
172    
173            public void setClassNameId(long classNameId) {
174                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
175    
176                    if (!_setOriginalClassNameId) {
177                            _setOriginalClassNameId = true;
178    
179                            _originalClassNameId = _classNameId;
180                    }
181    
182                    _classNameId = classNameId;
183            }
184    
185            public long getOriginalClassNameId() {
186                    return _originalClassNameId;
187            }
188    
189            @JSON
190            public long getClassPK() {
191                    return _classPK;
192            }
193    
194            public void setClassPK(long classPK) {
195                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
196    
197                    if (!_setOriginalClassPK) {
198                            _setOriginalClassPK = true;
199    
200                            _originalClassPK = _classPK;
201                    }
202    
203                    _classPK = classPK;
204            }
205    
206            public long getOriginalClassPK() {
207                    return _originalClassPK;
208            }
209    
210            @JSON
211            public long getStructureId() {
212                    return _structureId;
213            }
214    
215            public void setStructureId(long structureId) {
216                    _columnBitmask |= STRUCTUREID_COLUMN_BITMASK;
217    
218                    if (!_setOriginalStructureId) {
219                            _setOriginalStructureId = true;
220    
221                            _originalStructureId = _structureId;
222                    }
223    
224                    _structureId = structureId;
225            }
226    
227            public long getOriginalStructureId() {
228                    return _originalStructureId;
229            }
230    
231            public long getColumnBitmask() {
232                    return _columnBitmask;
233            }
234    
235            @Override
236            public DDMStructureLink toEscapedModel() {
237                    if (_escapedModelProxy == null) {
238                            _escapedModelProxy = (DDMStructureLink)ProxyUtil.newProxyInstance(_classLoader,
239                                            _escapedModelProxyInterfaces,
240                                            new AutoEscapeBeanHandler(this));
241                    }
242    
243                    return _escapedModelProxy;
244            }
245    
246            @Override
247            public ExpandoBridge getExpandoBridge() {
248                    if (_expandoBridge == null) {
249                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(0,
250                                            DDMStructureLink.class.getName(), getPrimaryKey());
251                    }
252    
253                    return _expandoBridge;
254            }
255    
256            @Override
257            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
258                    getExpandoBridge().setAttributes(serviceContext);
259            }
260    
261            @Override
262            public Object clone() {
263                    DDMStructureLinkImpl ddmStructureLinkImpl = new DDMStructureLinkImpl();
264    
265                    ddmStructureLinkImpl.setStructureLinkId(getStructureLinkId());
266                    ddmStructureLinkImpl.setClassNameId(getClassNameId());
267                    ddmStructureLinkImpl.setClassPK(getClassPK());
268                    ddmStructureLinkImpl.setStructureId(getStructureId());
269    
270                    ddmStructureLinkImpl.resetOriginalValues();
271    
272                    return ddmStructureLinkImpl;
273            }
274    
275            public int compareTo(DDMStructureLink ddmStructureLink) {
276                    long primaryKey = ddmStructureLink.getPrimaryKey();
277    
278                    if (getPrimaryKey() < primaryKey) {
279                            return -1;
280                    }
281                    else if (getPrimaryKey() > primaryKey) {
282                            return 1;
283                    }
284                    else {
285                            return 0;
286                    }
287            }
288    
289            @Override
290            public boolean equals(Object obj) {
291                    if (obj == null) {
292                            return false;
293                    }
294    
295                    DDMStructureLink ddmStructureLink = null;
296    
297                    try {
298                            ddmStructureLink = (DDMStructureLink)obj;
299                    }
300                    catch (ClassCastException cce) {
301                            return false;
302                    }
303    
304                    long primaryKey = ddmStructureLink.getPrimaryKey();
305    
306                    if (getPrimaryKey() == primaryKey) {
307                            return true;
308                    }
309                    else {
310                            return false;
311                    }
312            }
313    
314            @Override
315            public int hashCode() {
316                    return (int)getPrimaryKey();
317            }
318    
319            @Override
320            public void resetOriginalValues() {
321                    DDMStructureLinkModelImpl ddmStructureLinkModelImpl = this;
322    
323                    ddmStructureLinkModelImpl._originalClassNameId = ddmStructureLinkModelImpl._classNameId;
324    
325                    ddmStructureLinkModelImpl._setOriginalClassNameId = false;
326    
327                    ddmStructureLinkModelImpl._originalClassPK = ddmStructureLinkModelImpl._classPK;
328    
329                    ddmStructureLinkModelImpl._setOriginalClassPK = false;
330    
331                    ddmStructureLinkModelImpl._originalStructureId = ddmStructureLinkModelImpl._structureId;
332    
333                    ddmStructureLinkModelImpl._setOriginalStructureId = false;
334    
335                    ddmStructureLinkModelImpl._columnBitmask = 0;
336            }
337    
338            @Override
339            public CacheModel<DDMStructureLink> toCacheModel() {
340                    DDMStructureLinkCacheModel ddmStructureLinkCacheModel = new DDMStructureLinkCacheModel();
341    
342                    ddmStructureLinkCacheModel.structureLinkId = getStructureLinkId();
343    
344                    ddmStructureLinkCacheModel.classNameId = getClassNameId();
345    
346                    ddmStructureLinkCacheModel.classPK = getClassPK();
347    
348                    ddmStructureLinkCacheModel.structureId = getStructureId();
349    
350                    return ddmStructureLinkCacheModel;
351            }
352    
353            @Override
354            public String toString() {
355                    StringBundler sb = new StringBundler(9);
356    
357                    sb.append("{structureLinkId=");
358                    sb.append(getStructureLinkId());
359                    sb.append(", classNameId=");
360                    sb.append(getClassNameId());
361                    sb.append(", classPK=");
362                    sb.append(getClassPK());
363                    sb.append(", structureId=");
364                    sb.append(getStructureId());
365                    sb.append("}");
366    
367                    return sb.toString();
368            }
369    
370            public String toXmlString() {
371                    StringBundler sb = new StringBundler(16);
372    
373                    sb.append("<model><model-name>");
374                    sb.append(
375                            "com.liferay.portlet.dynamicdatamapping.model.DDMStructureLink");
376                    sb.append("</model-name>");
377    
378                    sb.append(
379                            "<column><column-name>structureLinkId</column-name><column-value><![CDATA[");
380                    sb.append(getStructureLinkId());
381                    sb.append("]]></column-value></column>");
382                    sb.append(
383                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
384                    sb.append(getClassNameId());
385                    sb.append("]]></column-value></column>");
386                    sb.append(
387                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
388                    sb.append(getClassPK());
389                    sb.append("]]></column-value></column>");
390                    sb.append(
391                            "<column><column-name>structureId</column-name><column-value><![CDATA[");
392                    sb.append(getStructureId());
393                    sb.append("]]></column-value></column>");
394    
395                    sb.append("</model>");
396    
397                    return sb.toString();
398            }
399    
400            private static ClassLoader _classLoader = DDMStructureLink.class.getClassLoader();
401            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
402                            DDMStructureLink.class
403                    };
404            private long _structureLinkId;
405            private long _classNameId;
406            private long _originalClassNameId;
407            private boolean _setOriginalClassNameId;
408            private long _classPK;
409            private long _originalClassPK;
410            private boolean _setOriginalClassPK;
411            private long _structureId;
412            private long _originalStructureId;
413            private boolean _setOriginalStructureId;
414            private transient ExpandoBridge _expandoBridge;
415            private long _columnBitmask;
416            private DDMStructureLink _escapedModelProxy;
417    }