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                            { "companyId", Types.BIGINT },
075                            { "userId", Types.BIGINT },
076                            { "createDate", Types.TIMESTAMP },
077                            { "entryId", Types.BIGINT },
078                            { "value", Types.INTEGER }
079                    };
080            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
081    
082            static {
083                    TABLE_COLUMNS_MAP.put("flagId", Types.BIGINT);
084                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
085                    TABLE_COLUMNS_MAP.put("userId", Types.BIGINT);
086                    TABLE_COLUMNS_MAP.put("createDate", Types.TIMESTAMP);
087                    TABLE_COLUMNS_MAP.put("entryId", Types.BIGINT);
088                    TABLE_COLUMNS_MAP.put("value", Types.INTEGER);
089            }
090    
091            public static final String TABLE_SQL_CREATE = "create table AnnouncementsFlag (flagId LONG not null primary key,companyId LONG,userId LONG,createDate DATE null,entryId LONG,value INTEGER)";
092            public static final String TABLE_SQL_DROP = "drop table AnnouncementsFlag";
093            public static final String ORDER_BY_JPQL = " ORDER BY announcementsFlag.userId ASC, announcementsFlag.createDate ASC";
094            public static final String ORDER_BY_SQL = " ORDER BY AnnouncementsFlag.userId ASC, AnnouncementsFlag.createDate ASC";
095            public static final String DATA_SOURCE = "liferayDataSource";
096            public static final String SESSION_FACTORY = "liferaySessionFactory";
097            public static final String TX_MANAGER = "liferayTransactionManager";
098            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
099                                    "value.object.entity.cache.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
100                            true);
101            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
102                                    "value.object.finder.cache.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
103                            true);
104            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
105                                    "value.object.column.bitmask.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
106                            true);
107            public static final long ENTRYID_COLUMN_BITMASK = 1L;
108            public static final long USERID_COLUMN_BITMASK = 2L;
109            public static final long VALUE_COLUMN_BITMASK = 4L;
110            public static final long CREATEDATE_COLUMN_BITMASK = 8L;
111    
112            /**
113             * Converts the soap model instance into a normal model instance.
114             *
115             * @param soapModel the soap model instance to convert
116             * @return the normal model instance
117             */
118            public static AnnouncementsFlag toModel(AnnouncementsFlagSoap soapModel) {
119                    if (soapModel == null) {
120                            return null;
121                    }
122    
123                    AnnouncementsFlag model = new AnnouncementsFlagImpl();
124    
125                    model.setFlagId(soapModel.getFlagId());
126                    model.setCompanyId(soapModel.getCompanyId());
127                    model.setUserId(soapModel.getUserId());
128                    model.setCreateDate(soapModel.getCreateDate());
129                    model.setEntryId(soapModel.getEntryId());
130                    model.setValue(soapModel.getValue());
131    
132                    return model;
133            }
134    
135            /**
136             * Converts the soap model instances into normal model instances.
137             *
138             * @param soapModels the soap model instances to convert
139             * @return the normal model instances
140             */
141            public static List<AnnouncementsFlag> toModels(
142                    AnnouncementsFlagSoap[] soapModels) {
143                    if (soapModels == null) {
144                            return null;
145                    }
146    
147                    List<AnnouncementsFlag> models = new ArrayList<AnnouncementsFlag>(soapModels.length);
148    
149                    for (AnnouncementsFlagSoap soapModel : soapModels) {
150                            models.add(toModel(soapModel));
151                    }
152    
153                    return models;
154            }
155    
156            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
157                                    "lock.expiration.time.com.liferay.portlet.announcements.model.AnnouncementsFlag"));
158    
159            public AnnouncementsFlagModelImpl() {
160            }
161    
162            @Override
163            public long getPrimaryKey() {
164                    return _flagId;
165            }
166    
167            @Override
168            public void setPrimaryKey(long primaryKey) {
169                    setFlagId(primaryKey);
170            }
171    
172            @Override
173            public Serializable getPrimaryKeyObj() {
174                    return _flagId;
175            }
176    
177            @Override
178            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
179                    setPrimaryKey(((Long)primaryKeyObj).longValue());
180            }
181    
182            @Override
183            public Class<?> getModelClass() {
184                    return AnnouncementsFlag.class;
185            }
186    
187            @Override
188            public String getModelClassName() {
189                    return AnnouncementsFlag.class.getName();
190            }
191    
192            @Override
193            public Map<String, Object> getModelAttributes() {
194                    Map<String, Object> attributes = new HashMap<String, Object>();
195    
196                    attributes.put("flagId", getFlagId());
197                    attributes.put("companyId", getCompanyId());
198                    attributes.put("userId", getUserId());
199                    attributes.put("createDate", getCreateDate());
200                    attributes.put("entryId", getEntryId());
201                    attributes.put("value", getValue());
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 flagId = (Long)attributes.get("flagId");
212    
213                    if (flagId != null) {
214                            setFlagId(flagId);
215                    }
216    
217                    Long companyId = (Long)attributes.get("companyId");
218    
219                    if (companyId != null) {
220                            setCompanyId(companyId);
221                    }
222    
223                    Long userId = (Long)attributes.get("userId");
224    
225                    if (userId != null) {
226                            setUserId(userId);
227                    }
228    
229                    Date createDate = (Date)attributes.get("createDate");
230    
231                    if (createDate != null) {
232                            setCreateDate(createDate);
233                    }
234    
235                    Long entryId = (Long)attributes.get("entryId");
236    
237                    if (entryId != null) {
238                            setEntryId(entryId);
239                    }
240    
241                    Integer value = (Integer)attributes.get("value");
242    
243                    if (value != null) {
244                            setValue(value);
245                    }
246            }
247    
248            @JSON
249            @Override
250            public long getFlagId() {
251                    return _flagId;
252            }
253    
254            @Override
255            public void setFlagId(long flagId) {
256                    _flagId = flagId;
257            }
258    
259            @JSON
260            @Override
261            public long getCompanyId() {
262                    return _companyId;
263            }
264    
265            @Override
266            public void setCompanyId(long companyId) {
267                    _companyId = companyId;
268            }
269    
270            @JSON
271            @Override
272            public long getUserId() {
273                    return _userId;
274            }
275    
276            @Override
277            public void setUserId(long userId) {
278                    _columnBitmask = -1L;
279    
280                    if (!_setOriginalUserId) {
281                            _setOriginalUserId = true;
282    
283                            _originalUserId = _userId;
284                    }
285    
286                    _userId = userId;
287            }
288    
289            @Override
290            public String getUserUuid() {
291                    try {
292                            User user = UserLocalServiceUtil.getUserById(getUserId());
293    
294                            return user.getUuid();
295                    }
296                    catch (PortalException pe) {
297                            return StringPool.BLANK;
298                    }
299            }
300    
301            @Override
302            public void setUserUuid(String userUuid) {
303            }
304    
305            public long getOriginalUserId() {
306                    return _originalUserId;
307            }
308    
309            @JSON
310            @Override
311            public Date getCreateDate() {
312                    return _createDate;
313            }
314    
315            @Override
316            public void setCreateDate(Date createDate) {
317                    _columnBitmask = -1L;
318    
319                    _createDate = createDate;
320            }
321    
322            @JSON
323            @Override
324            public long getEntryId() {
325                    return _entryId;
326            }
327    
328            @Override
329            public void setEntryId(long entryId) {
330                    _columnBitmask |= ENTRYID_COLUMN_BITMASK;
331    
332                    if (!_setOriginalEntryId) {
333                            _setOriginalEntryId = true;
334    
335                            _originalEntryId = _entryId;
336                    }
337    
338                    _entryId = entryId;
339            }
340    
341            public long getOriginalEntryId() {
342                    return _originalEntryId;
343            }
344    
345            @JSON
346            @Override
347            public int getValue() {
348                    return _value;
349            }
350    
351            @Override
352            public void setValue(int value) {
353                    _columnBitmask |= VALUE_COLUMN_BITMASK;
354    
355                    if (!_setOriginalValue) {
356                            _setOriginalValue = true;
357    
358                            _originalValue = _value;
359                    }
360    
361                    _value = value;
362            }
363    
364            public int getOriginalValue() {
365                    return _originalValue;
366            }
367    
368            public long getColumnBitmask() {
369                    return _columnBitmask;
370            }
371    
372            @Override
373            public ExpandoBridge getExpandoBridge() {
374                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
375                            AnnouncementsFlag.class.getName(), getPrimaryKey());
376            }
377    
378            @Override
379            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
380                    ExpandoBridge expandoBridge = getExpandoBridge();
381    
382                    expandoBridge.setAttributes(serviceContext);
383            }
384    
385            @Override
386            public AnnouncementsFlag toEscapedModel() {
387                    if (_escapedModel == null) {
388                            _escapedModel = (AnnouncementsFlag)ProxyUtil.newProxyInstance(_classLoader,
389                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
390                    }
391    
392                    return _escapedModel;
393            }
394    
395            @Override
396            public Object clone() {
397                    AnnouncementsFlagImpl announcementsFlagImpl = new AnnouncementsFlagImpl();
398    
399                    announcementsFlagImpl.setFlagId(getFlagId());
400                    announcementsFlagImpl.setCompanyId(getCompanyId());
401                    announcementsFlagImpl.setUserId(getUserId());
402                    announcementsFlagImpl.setCreateDate(getCreateDate());
403                    announcementsFlagImpl.setEntryId(getEntryId());
404                    announcementsFlagImpl.setValue(getValue());
405    
406                    announcementsFlagImpl.resetOriginalValues();
407    
408                    return announcementsFlagImpl;
409            }
410    
411            @Override
412            public int compareTo(AnnouncementsFlag announcementsFlag) {
413                    int value = 0;
414    
415                    if (getUserId() < announcementsFlag.getUserId()) {
416                            value = -1;
417                    }
418                    else if (getUserId() > announcementsFlag.getUserId()) {
419                            value = 1;
420                    }
421                    else {
422                            value = 0;
423                    }
424    
425                    if (value != 0) {
426                            return value;
427                    }
428    
429                    value = DateUtil.compareTo(getCreateDate(),
430                                    announcementsFlag.getCreateDate());
431    
432                    if (value != 0) {
433                            return value;
434                    }
435    
436                    return 0;
437            }
438    
439            @Override
440            public boolean equals(Object obj) {
441                    if (this == obj) {
442                            return true;
443                    }
444    
445                    if (!(obj instanceof AnnouncementsFlag)) {
446                            return false;
447                    }
448    
449                    AnnouncementsFlag announcementsFlag = (AnnouncementsFlag)obj;
450    
451                    long primaryKey = announcementsFlag.getPrimaryKey();
452    
453                    if (getPrimaryKey() == primaryKey) {
454                            return true;
455                    }
456                    else {
457                            return false;
458                    }
459            }
460    
461            @Override
462            public int hashCode() {
463                    return (int)getPrimaryKey();
464            }
465    
466            @Override
467            public boolean isEntityCacheEnabled() {
468                    return ENTITY_CACHE_ENABLED;
469            }
470    
471            @Override
472            public boolean isFinderCacheEnabled() {
473                    return FINDER_CACHE_ENABLED;
474            }
475    
476            @Override
477            public void resetOriginalValues() {
478                    AnnouncementsFlagModelImpl announcementsFlagModelImpl = this;
479    
480                    announcementsFlagModelImpl._originalUserId = announcementsFlagModelImpl._userId;
481    
482                    announcementsFlagModelImpl._setOriginalUserId = false;
483    
484                    announcementsFlagModelImpl._originalEntryId = announcementsFlagModelImpl._entryId;
485    
486                    announcementsFlagModelImpl._setOriginalEntryId = false;
487    
488                    announcementsFlagModelImpl._originalValue = announcementsFlagModelImpl._value;
489    
490                    announcementsFlagModelImpl._setOriginalValue = false;
491    
492                    announcementsFlagModelImpl._columnBitmask = 0;
493            }
494    
495            @Override
496            public CacheModel<AnnouncementsFlag> toCacheModel() {
497                    AnnouncementsFlagCacheModel announcementsFlagCacheModel = new AnnouncementsFlagCacheModel();
498    
499                    announcementsFlagCacheModel.flagId = getFlagId();
500    
501                    announcementsFlagCacheModel.companyId = getCompanyId();
502    
503                    announcementsFlagCacheModel.userId = getUserId();
504    
505                    Date createDate = getCreateDate();
506    
507                    if (createDate != null) {
508                            announcementsFlagCacheModel.createDate = createDate.getTime();
509                    }
510                    else {
511                            announcementsFlagCacheModel.createDate = Long.MIN_VALUE;
512                    }
513    
514                    announcementsFlagCacheModel.entryId = getEntryId();
515    
516                    announcementsFlagCacheModel.value = getValue();
517    
518                    return announcementsFlagCacheModel;
519            }
520    
521            @Override
522            public String toString() {
523                    StringBundler sb = new StringBundler(13);
524    
525                    sb.append("{flagId=");
526                    sb.append(getFlagId());
527                    sb.append(", companyId=");
528                    sb.append(getCompanyId());
529                    sb.append(", userId=");
530                    sb.append(getUserId());
531                    sb.append(", createDate=");
532                    sb.append(getCreateDate());
533                    sb.append(", entryId=");
534                    sb.append(getEntryId());
535                    sb.append(", value=");
536                    sb.append(getValue());
537                    sb.append("}");
538    
539                    return sb.toString();
540            }
541    
542            @Override
543            public String toXmlString() {
544                    StringBundler sb = new StringBundler(22);
545    
546                    sb.append("<model><model-name>");
547                    sb.append("com.liferay.portlet.announcements.model.AnnouncementsFlag");
548                    sb.append("</model-name>");
549    
550                    sb.append(
551                            "<column><column-name>flagId</column-name><column-value><![CDATA[");
552                    sb.append(getFlagId());
553                    sb.append("]]></column-value></column>");
554                    sb.append(
555                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
556                    sb.append(getCompanyId());
557                    sb.append("]]></column-value></column>");
558                    sb.append(
559                            "<column><column-name>userId</column-name><column-value><![CDATA[");
560                    sb.append(getUserId());
561                    sb.append("]]></column-value></column>");
562                    sb.append(
563                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
564                    sb.append(getCreateDate());
565                    sb.append("]]></column-value></column>");
566                    sb.append(
567                            "<column><column-name>entryId</column-name><column-value><![CDATA[");
568                    sb.append(getEntryId());
569                    sb.append("]]></column-value></column>");
570                    sb.append(
571                            "<column><column-name>value</column-name><column-value><![CDATA[");
572                    sb.append(getValue());
573                    sb.append("]]></column-value></column>");
574    
575                    sb.append("</model>");
576    
577                    return sb.toString();
578            }
579    
580            private static final ClassLoader _classLoader = AnnouncementsFlag.class.getClassLoader();
581            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
582                            AnnouncementsFlag.class
583                    };
584            private long _flagId;
585            private long _companyId;
586            private long _userId;
587            private long _originalUserId;
588            private boolean _setOriginalUserId;
589            private Date _createDate;
590            private long _entryId;
591            private long _originalEntryId;
592            private boolean _setOriginalEntryId;
593            private int _value;
594            private int _originalValue;
595            private boolean _setOriginalValue;
596            private long _columnBitmask;
597            private AnnouncementsFlag _escapedModel;
598    }