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