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