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