001    /**
002     * Copyright (c) 2000-present 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 aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.json.JSON;
021    import com.liferay.portal.kernel.util.GetterUtil;
022    import com.liferay.portal.kernel.util.ProxyUtil;
023    import com.liferay.portal.kernel.util.StringBundler;
024    import com.liferay.portal.kernel.util.StringPool;
025    import com.liferay.portal.model.CacheModel;
026    import com.liferay.portal.model.Image;
027    import com.liferay.portal.model.ImageModel;
028    import com.liferay.portal.model.ImageSoap;
029    import com.liferay.portal.service.ServiceContext;
030    
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.Date;
040    import java.util.HashMap;
041    import java.util.List;
042    import java.util.Map;
043    
044    /**
045     * The base model implementation for the Image service. Represents a row in the "Image" database table, with each column mapped to a property of this class.
046     *
047     * <p>
048     * This implementation and its corresponding interface {@link ImageModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ImageImpl}.
049     * </p>
050     *
051     * @author Brian Wing Shun Chan
052     * @see ImageImpl
053     * @see Image
054     * @see ImageModel
055     * @generated
056     */
057    @JSON(strict = true)
058    @ProviderType
059    public class ImageModelImpl extends BaseModelImpl<Image> implements ImageModel {
060            /*
061             * NOTE FOR DEVELOPERS:
062             *
063             * Never modify or reference this class directly. All methods that expect a image model instance should use the {@link Image} interface instead.
064             */
065            public static final String TABLE_NAME = "Image";
066            public static final Object[][] TABLE_COLUMNS = {
067                            { "mvccVersion", Types.BIGINT },
068                            { "imageId", Types.BIGINT },
069                            { "modifiedDate", Types.TIMESTAMP },
070                            { "type_", Types.VARCHAR },
071                            { "height", Types.INTEGER },
072                            { "width", Types.INTEGER },
073                            { "size_", Types.INTEGER }
074                    };
075            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
076    
077            static {
078                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
079                    TABLE_COLUMNS_MAP.put("imageId", Types.BIGINT);
080                    TABLE_COLUMNS_MAP.put("modifiedDate", Types.TIMESTAMP);
081                    TABLE_COLUMNS_MAP.put("type_", Types.VARCHAR);
082                    TABLE_COLUMNS_MAP.put("height", Types.INTEGER);
083                    TABLE_COLUMNS_MAP.put("width", Types.INTEGER);
084                    TABLE_COLUMNS_MAP.put("size_", Types.INTEGER);
085            }
086    
087            public static final String TABLE_SQL_CREATE = "create table Image (mvccVersion LONG default 0,imageId LONG not null primary key,modifiedDate DATE null,type_ VARCHAR(75) null,height INTEGER,width INTEGER,size_ INTEGER)";
088            public static final String TABLE_SQL_DROP = "drop table Image";
089            public static final String ORDER_BY_JPQL = " ORDER BY image.imageId ASC";
090            public static final String ORDER_BY_SQL = " ORDER BY Image.imageId ASC";
091            public static final String DATA_SOURCE = "liferayDataSource";
092            public static final String SESSION_FACTORY = "liferaySessionFactory";
093            public static final String TX_MANAGER = "liferayTransactionManager";
094            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
095                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Image"),
096                            true);
097            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
098                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Image"),
099                            true);
100            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
101                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Image"),
102                            true);
103            public static final long SIZE_COLUMN_BITMASK = 1L;
104            public static final long IMAGEID_COLUMN_BITMASK = 2L;
105    
106            /**
107             * Converts the soap model instance into a normal model instance.
108             *
109             * @param soapModel the soap model instance to convert
110             * @return the normal model instance
111             */
112            public static Image toModel(ImageSoap soapModel) {
113                    if (soapModel == null) {
114                            return null;
115                    }
116    
117                    Image model = new ImageImpl();
118    
119                    model.setMvccVersion(soapModel.getMvccVersion());
120                    model.setImageId(soapModel.getImageId());
121                    model.setModifiedDate(soapModel.getModifiedDate());
122                    model.setType(soapModel.getType());
123                    model.setHeight(soapModel.getHeight());
124                    model.setWidth(soapModel.getWidth());
125                    model.setSize(soapModel.getSize());
126    
127                    return model;
128            }
129    
130            /**
131             * Converts the soap model instances into normal model instances.
132             *
133             * @param soapModels the soap model instances to convert
134             * @return the normal model instances
135             */
136            public static List<Image> toModels(ImageSoap[] soapModels) {
137                    if (soapModels == null) {
138                            return null;
139                    }
140    
141                    List<Image> models = new ArrayList<Image>(soapModels.length);
142    
143                    for (ImageSoap soapModel : soapModels) {
144                            models.add(toModel(soapModel));
145                    }
146    
147                    return models;
148            }
149    
150            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
151                                    "lock.expiration.time.com.liferay.portal.model.Image"));
152    
153            public ImageModelImpl() {
154            }
155    
156            @Override
157            public long getPrimaryKey() {
158                    return _imageId;
159            }
160    
161            @Override
162            public void setPrimaryKey(long primaryKey) {
163                    setImageId(primaryKey);
164            }
165    
166            @Override
167            public Serializable getPrimaryKeyObj() {
168                    return _imageId;
169            }
170    
171            @Override
172            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
173                    setPrimaryKey(((Long)primaryKeyObj).longValue());
174            }
175    
176            @Override
177            public Class<?> getModelClass() {
178                    return Image.class;
179            }
180    
181            @Override
182            public String getModelClassName() {
183                    return Image.class.getName();
184            }
185    
186            @Override
187            public Map<String, Object> getModelAttributes() {
188                    Map<String, Object> attributes = new HashMap<String, Object>();
189    
190                    attributes.put("mvccVersion", getMvccVersion());
191                    attributes.put("imageId", getImageId());
192                    attributes.put("modifiedDate", getModifiedDate());
193                    attributes.put("type", getType());
194                    attributes.put("height", getHeight());
195                    attributes.put("width", getWidth());
196                    attributes.put("size", getSize());
197    
198                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
199                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
200    
201                    return attributes;
202            }
203    
204            @Override
205            public void setModelAttributes(Map<String, Object> attributes) {
206                    Long mvccVersion = (Long)attributes.get("mvccVersion");
207    
208                    if (mvccVersion != null) {
209                            setMvccVersion(mvccVersion);
210                    }
211    
212                    Long imageId = (Long)attributes.get("imageId");
213    
214                    if (imageId != null) {
215                            setImageId(imageId);
216                    }
217    
218                    Date modifiedDate = (Date)attributes.get("modifiedDate");
219    
220                    if (modifiedDate != null) {
221                            setModifiedDate(modifiedDate);
222                    }
223    
224                    String type = (String)attributes.get("type");
225    
226                    if (type != null) {
227                            setType(type);
228                    }
229    
230                    Integer height = (Integer)attributes.get("height");
231    
232                    if (height != null) {
233                            setHeight(height);
234                    }
235    
236                    Integer width = (Integer)attributes.get("width");
237    
238                    if (width != null) {
239                            setWidth(width);
240                    }
241    
242                    Integer size = (Integer)attributes.get("size");
243    
244                    if (size != null) {
245                            setSize(size);
246                    }
247            }
248    
249            @JSON
250            @Override
251            public long getMvccVersion() {
252                    return _mvccVersion;
253            }
254    
255            @Override
256            public void setMvccVersion(long mvccVersion) {
257                    _mvccVersion = mvccVersion;
258            }
259    
260            @JSON
261            @Override
262            public long getImageId() {
263                    return _imageId;
264            }
265    
266            @Override
267            public void setImageId(long imageId) {
268                    _columnBitmask = -1L;
269    
270                    _imageId = imageId;
271            }
272    
273            @JSON
274            @Override
275            public Date getModifiedDate() {
276                    return _modifiedDate;
277            }
278    
279            @Override
280            public void setModifiedDate(Date modifiedDate) {
281                    _modifiedDate = modifiedDate;
282            }
283    
284            @JSON
285            @Override
286            public String getType() {
287                    if (_type == null) {
288                            return StringPool.BLANK;
289                    }
290                    else {
291                            return _type;
292                    }
293            }
294    
295            @Override
296            public void setType(String type) {
297                    _type = type;
298            }
299    
300            @JSON
301            @Override
302            public int getHeight() {
303                    return _height;
304            }
305    
306            @Override
307            public void setHeight(int height) {
308                    _height = height;
309            }
310    
311            @JSON
312            @Override
313            public int getWidth() {
314                    return _width;
315            }
316    
317            @Override
318            public void setWidth(int width) {
319                    _width = width;
320            }
321    
322            @JSON
323            @Override
324            public int getSize() {
325                    return _size;
326            }
327    
328            @Override
329            public void setSize(int size) {
330                    _columnBitmask |= SIZE_COLUMN_BITMASK;
331    
332                    if (!_setOriginalSize) {
333                            _setOriginalSize = true;
334    
335                            _originalSize = _size;
336                    }
337    
338                    _size = size;
339            }
340    
341            public int getOriginalSize() {
342                    return _originalSize;
343            }
344    
345            public long getColumnBitmask() {
346                    return _columnBitmask;
347            }
348    
349            @Override
350            public ExpandoBridge getExpandoBridge() {
351                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
352                            Image.class.getName(), getPrimaryKey());
353            }
354    
355            @Override
356            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
357                    ExpandoBridge expandoBridge = getExpandoBridge();
358    
359                    expandoBridge.setAttributes(serviceContext);
360            }
361    
362            @Override
363            public Image toEscapedModel() {
364                    if (_escapedModel == null) {
365                            _escapedModel = (Image)ProxyUtil.newProxyInstance(_classLoader,
366                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
367                    }
368    
369                    return _escapedModel;
370            }
371    
372            @Override
373            public Object clone() {
374                    ImageImpl imageImpl = new ImageImpl();
375    
376                    imageImpl.setMvccVersion(getMvccVersion());
377                    imageImpl.setImageId(getImageId());
378                    imageImpl.setModifiedDate(getModifiedDate());
379                    imageImpl.setType(getType());
380                    imageImpl.setHeight(getHeight());
381                    imageImpl.setWidth(getWidth());
382                    imageImpl.setSize(getSize());
383    
384                    imageImpl.resetOriginalValues();
385    
386                    return imageImpl;
387            }
388    
389            @Override
390            public int compareTo(Image image) {
391                    int value = 0;
392    
393                    if (getImageId() < image.getImageId()) {
394                            value = -1;
395                    }
396                    else if (getImageId() > image.getImageId()) {
397                            value = 1;
398                    }
399                    else {
400                            value = 0;
401                    }
402    
403                    if (value != 0) {
404                            return value;
405                    }
406    
407                    return 0;
408            }
409    
410            @Override
411            public boolean equals(Object obj) {
412                    if (this == obj) {
413                            return true;
414                    }
415    
416                    if (!(obj instanceof Image)) {
417                            return false;
418                    }
419    
420                    Image image = (Image)obj;
421    
422                    long primaryKey = image.getPrimaryKey();
423    
424                    if (getPrimaryKey() == primaryKey) {
425                            return true;
426                    }
427                    else {
428                            return false;
429                    }
430            }
431    
432            @Override
433            public int hashCode() {
434                    return (int)getPrimaryKey();
435            }
436    
437            @Override
438            public boolean isEntityCacheEnabled() {
439                    return ENTITY_CACHE_ENABLED;
440            }
441    
442            @Override
443            public boolean isFinderCacheEnabled() {
444                    return FINDER_CACHE_ENABLED;
445            }
446    
447            @Override
448            public void resetOriginalValues() {
449                    ImageModelImpl imageModelImpl = this;
450    
451                    imageModelImpl._originalSize = imageModelImpl._size;
452    
453                    imageModelImpl._setOriginalSize = false;
454    
455                    imageModelImpl._columnBitmask = 0;
456            }
457    
458            @Override
459            public CacheModel<Image> toCacheModel() {
460                    ImageCacheModel imageCacheModel = new ImageCacheModel();
461    
462                    imageCacheModel.mvccVersion = getMvccVersion();
463    
464                    imageCacheModel.imageId = getImageId();
465    
466                    Date modifiedDate = getModifiedDate();
467    
468                    if (modifiedDate != null) {
469                            imageCacheModel.modifiedDate = modifiedDate.getTime();
470                    }
471                    else {
472                            imageCacheModel.modifiedDate = Long.MIN_VALUE;
473                    }
474    
475                    imageCacheModel.type = getType();
476    
477                    String type = imageCacheModel.type;
478    
479                    if ((type != null) && (type.length() == 0)) {
480                            imageCacheModel.type = null;
481                    }
482    
483                    imageCacheModel.height = getHeight();
484    
485                    imageCacheModel.width = getWidth();
486    
487                    imageCacheModel.size = getSize();
488    
489                    return imageCacheModel;
490            }
491    
492            @Override
493            public String toString() {
494                    StringBundler sb = new StringBundler(15);
495    
496                    sb.append("{mvccVersion=");
497                    sb.append(getMvccVersion());
498                    sb.append(", imageId=");
499                    sb.append(getImageId());
500                    sb.append(", modifiedDate=");
501                    sb.append(getModifiedDate());
502                    sb.append(", type=");
503                    sb.append(getType());
504                    sb.append(", height=");
505                    sb.append(getHeight());
506                    sb.append(", width=");
507                    sb.append(getWidth());
508                    sb.append(", size=");
509                    sb.append(getSize());
510                    sb.append("}");
511    
512                    return sb.toString();
513            }
514    
515            @Override
516            public String toXmlString() {
517                    StringBundler sb = new StringBundler(25);
518    
519                    sb.append("<model><model-name>");
520                    sb.append("com.liferay.portal.model.Image");
521                    sb.append("</model-name>");
522    
523                    sb.append(
524                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
525                    sb.append(getMvccVersion());
526                    sb.append("]]></column-value></column>");
527                    sb.append(
528                            "<column><column-name>imageId</column-name><column-value><![CDATA[");
529                    sb.append(getImageId());
530                    sb.append("]]></column-value></column>");
531                    sb.append(
532                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
533                    sb.append(getModifiedDate());
534                    sb.append("]]></column-value></column>");
535                    sb.append(
536                            "<column><column-name>type</column-name><column-value><![CDATA[");
537                    sb.append(getType());
538                    sb.append("]]></column-value></column>");
539                    sb.append(
540                            "<column><column-name>height</column-name><column-value><![CDATA[");
541                    sb.append(getHeight());
542                    sb.append("]]></column-value></column>");
543                    sb.append(
544                            "<column><column-name>width</column-name><column-value><![CDATA[");
545                    sb.append(getWidth());
546                    sb.append("]]></column-value></column>");
547                    sb.append(
548                            "<column><column-name>size</column-name><column-value><![CDATA[");
549                    sb.append(getSize());
550                    sb.append("]]></column-value></column>");
551    
552                    sb.append("</model>");
553    
554                    return sb.toString();
555            }
556    
557            private static final ClassLoader _classLoader = Image.class.getClassLoader();
558            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
559                            Image.class
560                    };
561            private long _mvccVersion;
562            private long _imageId;
563            private Date _modifiedDate;
564            private String _type;
565            private int _height;
566            private int _width;
567            private int _size;
568            private int _originalSize;
569            private boolean _setOriginalSize;
570            private long _columnBitmask;
571            private Image _escapedModel;
572    }