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