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