001    /**
002     * Copyright (c) 2000-2013 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 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.Resource;
025    import com.liferay.portal.model.ResourceModel;
026    import com.liferay.portal.model.ResourceSoap;
027    import com.liferay.portal.service.ServiceContext;
028    
029    import com.liferay.portlet.expando.model.ExpandoBridge;
030    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
031    
032    import java.io.Serializable;
033    
034    import java.sql.Types;
035    
036    import java.util.ArrayList;
037    import java.util.HashMap;
038    import java.util.List;
039    import java.util.Map;
040    
041    /**
042     * The base model implementation for the Resource service. Represents a row in the "Resource_" 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.portal.model.ResourceModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ResourceImpl}.
046     * </p>
047     *
048     * @author Brian Wing Shun Chan
049     * @see ResourceImpl
050     * @see com.liferay.portal.model.Resource
051     * @see com.liferay.portal.model.ResourceModel
052     * @generated
053     */
054    @JSON(strict = true)
055    public class ResourceModelImpl extends BaseModelImpl<Resource>
056            implements ResourceModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a resource model instance should use the {@link com.liferay.portal.model.Resource} interface instead.
061             */
062            public static final String TABLE_NAME = "Resource_";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "resourceId", Types.BIGINT },
065                            { "codeId", Types.BIGINT },
066                            { "primKey", Types.VARCHAR }
067                    };
068            public static final String TABLE_SQL_CREATE = "create table Resource_ (resourceId LONG not null primary key,codeId LONG,primKey VARCHAR(255) null)";
069            public static final String TABLE_SQL_DROP = "drop table Resource_";
070            public static final String DATA_SOURCE = "liferayDataSource";
071            public static final String SESSION_FACTORY = "liferaySessionFactory";
072            public static final String TX_MANAGER = "liferayTransactionManager";
073            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
074                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Resource"),
075                            true);
076            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
077                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Resource"),
078                            true);
079            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
080                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Resource"),
081                            true);
082            public static long CODEID_COLUMN_BITMASK = 1L;
083            public static long PRIMKEY_COLUMN_BITMASK = 2L;
084    
085            /**
086             * Converts the soap model instance into a normal model instance.
087             *
088             * @param soapModel the soap model instance to convert
089             * @return the normal model instance
090             */
091            public static Resource toModel(ResourceSoap soapModel) {
092                    if (soapModel == null) {
093                            return null;
094                    }
095    
096                    Resource model = new ResourceImpl();
097    
098                    model.setResourceId(soapModel.getResourceId());
099                    model.setCodeId(soapModel.getCodeId());
100                    model.setPrimKey(soapModel.getPrimKey());
101    
102                    return model;
103            }
104    
105            /**
106             * Converts the soap model instances into normal model instances.
107             *
108             * @param soapModels the soap model instances to convert
109             * @return the normal model instances
110             */
111            public static List<Resource> toModels(ResourceSoap[] soapModels) {
112                    if (soapModels == null) {
113                            return null;
114                    }
115    
116                    List<Resource> models = new ArrayList<Resource>(soapModels.length);
117    
118                    for (ResourceSoap soapModel : soapModels) {
119                            models.add(toModel(soapModel));
120                    }
121    
122                    return models;
123            }
124    
125            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
126                                    "lock.expiration.time.com.liferay.portal.model.Resource"));
127    
128            public ResourceModelImpl() {
129            }
130    
131            public long getPrimaryKey() {
132                    return _resourceId;
133            }
134    
135            public void setPrimaryKey(long primaryKey) {
136                    setResourceId(primaryKey);
137            }
138    
139            public Serializable getPrimaryKeyObj() {
140                    return new Long(_resourceId);
141            }
142    
143            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
144                    setPrimaryKey(((Long)primaryKeyObj).longValue());
145            }
146    
147            public Class<?> getModelClass() {
148                    return Resource.class;
149            }
150    
151            public String getModelClassName() {
152                    return Resource.class.getName();
153            }
154    
155            @Override
156            public Map<String, Object> getModelAttributes() {
157                    Map<String, Object> attributes = new HashMap<String, Object>();
158    
159                    attributes.put("resourceId", getResourceId());
160                    attributes.put("codeId", getCodeId());
161                    attributes.put("primKey", getPrimKey());
162    
163                    return attributes;
164            }
165    
166            @Override
167            public void setModelAttributes(Map<String, Object> attributes) {
168                    Long resourceId = (Long)attributes.get("resourceId");
169    
170                    if (resourceId != null) {
171                            setResourceId(resourceId);
172                    }
173    
174                    Long codeId = (Long)attributes.get("codeId");
175    
176                    if (codeId != null) {
177                            setCodeId(codeId);
178                    }
179    
180                    String primKey = (String)attributes.get("primKey");
181    
182                    if (primKey != null) {
183                            setPrimKey(primKey);
184                    }
185            }
186    
187            @JSON
188            public long getResourceId() {
189                    return _resourceId;
190            }
191    
192            public void setResourceId(long resourceId) {
193                    _resourceId = resourceId;
194            }
195    
196            @JSON
197            public long getCodeId() {
198                    return _codeId;
199            }
200    
201            public void setCodeId(long codeId) {
202                    _columnBitmask |= CODEID_COLUMN_BITMASK;
203    
204                    if (!_setOriginalCodeId) {
205                            _setOriginalCodeId = true;
206    
207                            _originalCodeId = _codeId;
208                    }
209    
210                    _codeId = codeId;
211            }
212    
213            public long getOriginalCodeId() {
214                    return _originalCodeId;
215            }
216    
217            @JSON
218            public String getPrimKey() {
219                    if (_primKey == null) {
220                            return StringPool.BLANK;
221                    }
222                    else {
223                            return _primKey;
224                    }
225            }
226    
227            public void setPrimKey(String primKey) {
228                    _columnBitmask |= PRIMKEY_COLUMN_BITMASK;
229    
230                    if (_originalPrimKey == null) {
231                            _originalPrimKey = _primKey;
232                    }
233    
234                    _primKey = primKey;
235            }
236    
237            public String getOriginalPrimKey() {
238                    return GetterUtil.getString(_originalPrimKey);
239            }
240    
241            public long getColumnBitmask() {
242                    return _columnBitmask;
243            }
244    
245            @Override
246            public ExpandoBridge getExpandoBridge() {
247                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
248                            Resource.class.getName(), getPrimaryKey());
249            }
250    
251            @Override
252            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
253                    ExpandoBridge expandoBridge = getExpandoBridge();
254    
255                    expandoBridge.setAttributes(serviceContext);
256            }
257    
258            @Override
259            public Resource toEscapedModel() {
260                    if (_escapedModel == null) {
261                            _escapedModel = (Resource)ProxyUtil.newProxyInstance(_classLoader,
262                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
263                    }
264    
265                    return _escapedModel;
266            }
267    
268            public Resource toUnescapedModel() {
269                    return (Resource)this;
270            }
271    
272            @Override
273            public Object clone() {
274                    ResourceImpl resourceImpl = new ResourceImpl();
275    
276                    resourceImpl.setResourceId(getResourceId());
277                    resourceImpl.setCodeId(getCodeId());
278                    resourceImpl.setPrimKey(getPrimKey());
279    
280                    resourceImpl.resetOriginalValues();
281    
282                    return resourceImpl;
283            }
284    
285            public int compareTo(Resource resource) {
286                    long primaryKey = resource.getPrimaryKey();
287    
288                    if (getPrimaryKey() < primaryKey) {
289                            return -1;
290                    }
291                    else if (getPrimaryKey() > primaryKey) {
292                            return 1;
293                    }
294                    else {
295                            return 0;
296                    }
297            }
298    
299            @Override
300            public boolean equals(Object obj) {
301                    if (this == obj) {
302                            return true;
303                    }
304    
305                    if (!(obj instanceof Resource)) {
306                            return false;
307                    }
308    
309                    Resource resource = (Resource)obj;
310    
311                    long primaryKey = resource.getPrimaryKey();
312    
313                    if (getPrimaryKey() == primaryKey) {
314                            return true;
315                    }
316                    else {
317                            return false;
318                    }
319            }
320    
321            @Override
322            public int hashCode() {
323                    return (int)getPrimaryKey();
324            }
325    
326            @Override
327            public void resetOriginalValues() {
328                    ResourceModelImpl resourceModelImpl = this;
329    
330                    resourceModelImpl._originalCodeId = resourceModelImpl._codeId;
331    
332                    resourceModelImpl._setOriginalCodeId = false;
333    
334                    resourceModelImpl._originalPrimKey = resourceModelImpl._primKey;
335    
336                    resourceModelImpl._columnBitmask = 0;
337            }
338    
339            @Override
340            public CacheModel<Resource> toCacheModel() {
341                    ResourceCacheModel resourceCacheModel = new ResourceCacheModel();
342    
343                    resourceCacheModel.resourceId = getResourceId();
344    
345                    resourceCacheModel.codeId = getCodeId();
346    
347                    resourceCacheModel.primKey = getPrimKey();
348    
349                    String primKey = resourceCacheModel.primKey;
350    
351                    if ((primKey != null) && (primKey.length() == 0)) {
352                            resourceCacheModel.primKey = null;
353                    }
354    
355                    return resourceCacheModel;
356            }
357    
358            @Override
359            public String toString() {
360                    StringBundler sb = new StringBundler(7);
361    
362                    sb.append("{resourceId=");
363                    sb.append(getResourceId());
364                    sb.append(", codeId=");
365                    sb.append(getCodeId());
366                    sb.append(", primKey=");
367                    sb.append(getPrimKey());
368                    sb.append("}");
369    
370                    return sb.toString();
371            }
372    
373            public String toXmlString() {
374                    StringBundler sb = new StringBundler(13);
375    
376                    sb.append("<model><model-name>");
377                    sb.append("com.liferay.portal.model.Resource");
378                    sb.append("</model-name>");
379    
380                    sb.append(
381                            "<column><column-name>resourceId</column-name><column-value><![CDATA[");
382                    sb.append(getResourceId());
383                    sb.append("]]></column-value></column>");
384                    sb.append(
385                            "<column><column-name>codeId</column-name><column-value><![CDATA[");
386                    sb.append(getCodeId());
387                    sb.append("]]></column-value></column>");
388                    sb.append(
389                            "<column><column-name>primKey</column-name><column-value><![CDATA[");
390                    sb.append(getPrimKey());
391                    sb.append("]]></column-value></column>");
392    
393                    sb.append("</model>");
394    
395                    return sb.toString();
396            }
397    
398            private static ClassLoader _classLoader = Resource.class.getClassLoader();
399            private static Class<?>[] _escapedModelInterfaces = new Class[] {
400                            Resource.class
401                    };
402            private long _resourceId;
403            private long _codeId;
404            private long _originalCodeId;
405            private boolean _setOriginalCodeId;
406            private String _primKey;
407            private String _originalPrimKey;
408            private long _columnBitmask;
409            private Resource _escapedModel;
410    }