001    /**
002     * Copyright (c) 2000-2012 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 com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.json.JSON;
020    import com.liferay.portal.kernel.util.DateUtil;
021    import com.liferay.portal.kernel.util.GetterUtil;
022    import com.liferay.portal.kernel.util.ProxyUtil;
023    import com.liferay.portal.kernel.util.StringBundler;
024    import com.liferay.portal.model.CacheModel;
025    import com.liferay.portal.model.impl.BaseModelImpl;
026    import com.liferay.portal.service.ServiceContext;
027    import com.liferay.portal.util.PortalUtil;
028    
029    import com.liferay.portlet.announcements.model.AnnouncementsFlag;
030    import com.liferay.portlet.announcements.model.AnnouncementsFlagModel;
031    import com.liferay.portlet.announcements.model.AnnouncementsFlagSoap;
032    import com.liferay.portlet.expando.model.ExpandoBridge;
033    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
034    
035    import java.io.Serializable;
036    
037    import java.sql.Types;
038    
039    import java.util.ArrayList;
040    import java.util.Date;
041    import java.util.List;
042    
043    /**
044     * 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.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link com.liferay.portlet.announcements.model.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}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see AnnouncementsFlagImpl
052     * @see com.liferay.portlet.announcements.model.AnnouncementsFlag
053     * @see com.liferay.portlet.announcements.model.AnnouncementsFlagModel
054     * @generated
055     */
056    @JSON(strict = true)
057    public class AnnouncementsFlagModelImpl extends BaseModelImpl<AnnouncementsFlag>
058            implements AnnouncementsFlagModel {
059            /*
060             * NOTE FOR DEVELOPERS:
061             *
062             * Never modify or reference this class directly. All methods that expect a announcements flag model instance should use the {@link com.liferay.portlet.announcements.model.AnnouncementsFlag} interface instead.
063             */
064            public static final String TABLE_NAME = "AnnouncementsFlag";
065            public static final Object[][] TABLE_COLUMNS = {
066                            { "flagId", Types.BIGINT },
067                            { "userId", Types.BIGINT },
068                            { "createDate", Types.TIMESTAMP },
069                            { "entryId", Types.BIGINT },
070                            { "value", Types.INTEGER }
071                    };
072            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)";
073            public static final String TABLE_SQL_DROP = "drop table AnnouncementsFlag";
074            public static final String ORDER_BY_JPQL = " ORDER BY announcementsFlag.userId ASC, announcementsFlag.createDate ASC";
075            public static final String ORDER_BY_SQL = " ORDER BY AnnouncementsFlag.userId ASC, AnnouncementsFlag.createDate ASC";
076            public static final String DATA_SOURCE = "liferayDataSource";
077            public static final String SESSION_FACTORY = "liferaySessionFactory";
078            public static final String TX_MANAGER = "liferayTransactionManager";
079            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
080                                    "value.object.entity.cache.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
081                            true);
082            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
083                                    "value.object.finder.cache.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
084                            true);
085            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
086                                    "value.object.column.bitmask.enabled.com.liferay.portlet.announcements.model.AnnouncementsFlag"),
087                            true);
088            public static long ENTRYID_COLUMN_BITMASK = 1L;
089            public static long USERID_COLUMN_BITMASK = 2L;
090            public static long VALUE_COLUMN_BITMASK = 4L;
091    
092            /**
093             * Converts the soap model instance into a normal model instance.
094             *
095             * @param soapModel the soap model instance to convert
096             * @return the normal model instance
097             */
098            public static AnnouncementsFlag toModel(AnnouncementsFlagSoap soapModel) {
099                    AnnouncementsFlag model = new AnnouncementsFlagImpl();
100    
101                    model.setFlagId(soapModel.getFlagId());
102                    model.setUserId(soapModel.getUserId());
103                    model.setCreateDate(soapModel.getCreateDate());
104                    model.setEntryId(soapModel.getEntryId());
105                    model.setValue(soapModel.getValue());
106    
107                    return model;
108            }
109    
110            /**
111             * Converts the soap model instances into normal model instances.
112             *
113             * @param soapModels the soap model instances to convert
114             * @return the normal model instances
115             */
116            public static List<AnnouncementsFlag> toModels(
117                    AnnouncementsFlagSoap[] soapModels) {
118                    List<AnnouncementsFlag> models = new ArrayList<AnnouncementsFlag>(soapModels.length);
119    
120                    for (AnnouncementsFlagSoap soapModel : soapModels) {
121                            models.add(toModel(soapModel));
122                    }
123    
124                    return models;
125            }
126    
127            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
128                                    "lock.expiration.time.com.liferay.portlet.announcements.model.AnnouncementsFlag"));
129    
130            public AnnouncementsFlagModelImpl() {
131            }
132    
133            public long getPrimaryKey() {
134                    return _flagId;
135            }
136    
137            public void setPrimaryKey(long primaryKey) {
138                    setFlagId(primaryKey);
139            }
140    
141            public Serializable getPrimaryKeyObj() {
142                    return new Long(_flagId);
143            }
144    
145            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
146                    setPrimaryKey(((Long)primaryKeyObj).longValue());
147            }
148    
149            public Class<?> getModelClass() {
150                    return AnnouncementsFlag.class;
151            }
152    
153            public String getModelClassName() {
154                    return AnnouncementsFlag.class.getName();
155            }
156    
157            @JSON
158            public long getFlagId() {
159                    return _flagId;
160            }
161    
162            public void setFlagId(long flagId) {
163                    _flagId = flagId;
164            }
165    
166            @JSON
167            public long getUserId() {
168                    return _userId;
169            }
170    
171            public void setUserId(long userId) {
172                    _columnBitmask = -1L;
173    
174                    if (!_setOriginalUserId) {
175                            _setOriginalUserId = true;
176    
177                            _originalUserId = _userId;
178                    }
179    
180                    _userId = userId;
181            }
182    
183            public String getUserUuid() throws SystemException {
184                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
185            }
186    
187            public void setUserUuid(String userUuid) {
188                    _userUuid = userUuid;
189            }
190    
191            public long getOriginalUserId() {
192                    return _originalUserId;
193            }
194    
195            @JSON
196            public Date getCreateDate() {
197                    return _createDate;
198            }
199    
200            public void setCreateDate(Date createDate) {
201                    _columnBitmask = -1L;
202    
203                    _createDate = createDate;
204            }
205    
206            @JSON
207            public long getEntryId() {
208                    return _entryId;
209            }
210    
211            public void setEntryId(long entryId) {
212                    _columnBitmask |= ENTRYID_COLUMN_BITMASK;
213    
214                    if (!_setOriginalEntryId) {
215                            _setOriginalEntryId = true;
216    
217                            _originalEntryId = _entryId;
218                    }
219    
220                    _entryId = entryId;
221            }
222    
223            public long getOriginalEntryId() {
224                    return _originalEntryId;
225            }
226    
227            @JSON
228            public int getValue() {
229                    return _value;
230            }
231    
232            public void setValue(int value) {
233                    _columnBitmask |= VALUE_COLUMN_BITMASK;
234    
235                    if (!_setOriginalValue) {
236                            _setOriginalValue = true;
237    
238                            _originalValue = _value;
239                    }
240    
241                    _value = value;
242            }
243    
244            public int getOriginalValue() {
245                    return _originalValue;
246            }
247    
248            public long getColumnBitmask() {
249                    return _columnBitmask;
250            }
251    
252            @Override
253            public AnnouncementsFlag toEscapedModel() {
254                    if (_escapedModelProxy == null) {
255                            _escapedModelProxy = (AnnouncementsFlag)ProxyUtil.newProxyInstance(_classLoader,
256                                            _escapedModelProxyInterfaces,
257                                            new AutoEscapeBeanHandler(this));
258                    }
259    
260                    return _escapedModelProxy;
261            }
262    
263            @Override
264            public ExpandoBridge getExpandoBridge() {
265                    if (_expandoBridge == null) {
266                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(0,
267                                            AnnouncementsFlag.class.getName(), getPrimaryKey());
268                    }
269    
270                    return _expandoBridge;
271            }
272    
273            @Override
274            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
275                    getExpandoBridge().setAttributes(serviceContext);
276            }
277    
278            @Override
279            public Object clone() {
280                    AnnouncementsFlagImpl announcementsFlagImpl = new AnnouncementsFlagImpl();
281    
282                    announcementsFlagImpl.setFlagId(getFlagId());
283                    announcementsFlagImpl.setUserId(getUserId());
284                    announcementsFlagImpl.setCreateDate(getCreateDate());
285                    announcementsFlagImpl.setEntryId(getEntryId());
286                    announcementsFlagImpl.setValue(getValue());
287    
288                    announcementsFlagImpl.resetOriginalValues();
289    
290                    return announcementsFlagImpl;
291            }
292    
293            public int compareTo(AnnouncementsFlag announcementsFlag) {
294                    int value = 0;
295    
296                    if (getUserId() < announcementsFlag.getUserId()) {
297                            value = -1;
298                    }
299                    else if (getUserId() > announcementsFlag.getUserId()) {
300                            value = 1;
301                    }
302                    else {
303                            value = 0;
304                    }
305    
306                    if (value != 0) {
307                            return value;
308                    }
309    
310                    value = DateUtil.compareTo(getCreateDate(),
311                                    announcementsFlag.getCreateDate());
312    
313                    if (value != 0) {
314                            return value;
315                    }
316    
317                    return 0;
318            }
319    
320            @Override
321            public boolean equals(Object obj) {
322                    if (obj == null) {
323                            return false;
324                    }
325    
326                    AnnouncementsFlag announcementsFlag = null;
327    
328                    try {
329                            announcementsFlag = (AnnouncementsFlag)obj;
330                    }
331                    catch (ClassCastException cce) {
332                            return false;
333                    }
334    
335                    long primaryKey = announcementsFlag.getPrimaryKey();
336    
337                    if (getPrimaryKey() == primaryKey) {
338                            return true;
339                    }
340                    else {
341                            return false;
342                    }
343            }
344    
345            @Override
346            public int hashCode() {
347                    return (int)getPrimaryKey();
348            }
349    
350            @Override
351            public void resetOriginalValues() {
352                    AnnouncementsFlagModelImpl announcementsFlagModelImpl = this;
353    
354                    announcementsFlagModelImpl._originalUserId = announcementsFlagModelImpl._userId;
355    
356                    announcementsFlagModelImpl._setOriginalUserId = false;
357    
358                    announcementsFlagModelImpl._originalEntryId = announcementsFlagModelImpl._entryId;
359    
360                    announcementsFlagModelImpl._setOriginalEntryId = false;
361    
362                    announcementsFlagModelImpl._originalValue = announcementsFlagModelImpl._value;
363    
364                    announcementsFlagModelImpl._setOriginalValue = false;
365    
366                    announcementsFlagModelImpl._columnBitmask = 0;
367            }
368    
369            @Override
370            public CacheModel<AnnouncementsFlag> toCacheModel() {
371                    AnnouncementsFlagCacheModel announcementsFlagCacheModel = new AnnouncementsFlagCacheModel();
372    
373                    announcementsFlagCacheModel.flagId = getFlagId();
374    
375                    announcementsFlagCacheModel.userId = getUserId();
376    
377                    Date createDate = getCreateDate();
378    
379                    if (createDate != null) {
380                            announcementsFlagCacheModel.createDate = createDate.getTime();
381                    }
382                    else {
383                            announcementsFlagCacheModel.createDate = Long.MIN_VALUE;
384                    }
385    
386                    announcementsFlagCacheModel.entryId = getEntryId();
387    
388                    announcementsFlagCacheModel.value = getValue();
389    
390                    return announcementsFlagCacheModel;
391            }
392    
393            @Override
394            public String toString() {
395                    StringBundler sb = new StringBundler(11);
396    
397                    sb.append("{flagId=");
398                    sb.append(getFlagId());
399                    sb.append(", userId=");
400                    sb.append(getUserId());
401                    sb.append(", createDate=");
402                    sb.append(getCreateDate());
403                    sb.append(", entryId=");
404                    sb.append(getEntryId());
405                    sb.append(", value=");
406                    sb.append(getValue());
407                    sb.append("}");
408    
409                    return sb.toString();
410            }
411    
412            public String toXmlString() {
413                    StringBundler sb = new StringBundler(19);
414    
415                    sb.append("<model><model-name>");
416                    sb.append("com.liferay.portlet.announcements.model.AnnouncementsFlag");
417                    sb.append("</model-name>");
418    
419                    sb.append(
420                            "<column><column-name>flagId</column-name><column-value><![CDATA[");
421                    sb.append(getFlagId());
422                    sb.append("]]></column-value></column>");
423                    sb.append(
424                            "<column><column-name>userId</column-name><column-value><![CDATA[");
425                    sb.append(getUserId());
426                    sb.append("]]></column-value></column>");
427                    sb.append(
428                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
429                    sb.append(getCreateDate());
430                    sb.append("]]></column-value></column>");
431                    sb.append(
432                            "<column><column-name>entryId</column-name><column-value><![CDATA[");
433                    sb.append(getEntryId());
434                    sb.append("]]></column-value></column>");
435                    sb.append(
436                            "<column><column-name>value</column-name><column-value><![CDATA[");
437                    sb.append(getValue());
438                    sb.append("]]></column-value></column>");
439    
440                    sb.append("</model>");
441    
442                    return sb.toString();
443            }
444    
445            private static ClassLoader _classLoader = AnnouncementsFlag.class.getClassLoader();
446            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
447                            AnnouncementsFlag.class
448                    };
449            private long _flagId;
450            private long _userId;
451            private String _userUuid;
452            private long _originalUserId;
453            private boolean _setOriginalUserId;
454            private Date _createDate;
455            private long _entryId;
456            private long _originalEntryId;
457            private boolean _setOriginalEntryId;
458            private int _value;
459            private int _originalValue;
460            private boolean _setOriginalValue;
461            private transient ExpandoBridge _expandoBridge;
462            private long _columnBitmask;
463            private AnnouncementsFlag _escapedModelProxy;
464    }