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.portal.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.util.GetterUtil;
022    import com.liferay.portal.kernel.util.ProxyUtil;
023    import com.liferay.portal.kernel.util.StringBundler;
024    import com.liferay.portal.kernel.util.StringPool;
025    import com.liferay.portal.model.BrowserTracker;
026    import com.liferay.portal.model.BrowserTrackerModel;
027    import com.liferay.portal.model.CacheModel;
028    import com.liferay.portal.model.User;
029    import com.liferay.portal.service.ServiceContext;
030    import com.liferay.portal.service.UserLocalServiceUtil;
031    
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.HashMap;
040    import java.util.Map;
041    
042    /**
043     * The base model implementation for the BrowserTracker service. Represents a row in the "BrowserTracker" database table, with each column mapped to a property of this class.
044     *
045     * <p>
046     * This implementation and its corresponding interface {@link BrowserTrackerModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link BrowserTrackerImpl}.
047     * </p>
048     *
049     * @author Brian Wing Shun Chan
050     * @see BrowserTrackerImpl
051     * @see BrowserTracker
052     * @see BrowserTrackerModel
053     * @generated
054     */
055    @ProviderType
056    public class BrowserTrackerModelImpl extends BaseModelImpl<BrowserTracker>
057            implements BrowserTrackerModel {
058            /*
059             * NOTE FOR DEVELOPERS:
060             *
061             * Never modify or reference this class directly. All methods that expect a browser tracker model instance should use the {@link BrowserTracker} interface instead.
062             */
063            public static final String TABLE_NAME = "BrowserTracker";
064            public static final Object[][] TABLE_COLUMNS = {
065                            { "mvccVersion", Types.BIGINT },
066                            { "browserTrackerId", Types.BIGINT },
067                            { "userId", Types.BIGINT },
068                            { "browserKey", Types.BIGINT }
069                    };
070            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
071    
072            static {
073                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
074                    TABLE_COLUMNS_MAP.put("browserTrackerId", Types.BIGINT);
075                    TABLE_COLUMNS_MAP.put("userId", Types.BIGINT);
076                    TABLE_COLUMNS_MAP.put("browserKey", Types.BIGINT);
077            }
078    
079            public static final String TABLE_SQL_CREATE = "create table BrowserTracker (mvccVersion LONG default 0,browserTrackerId LONG not null primary key,userId LONG,browserKey LONG)";
080            public static final String TABLE_SQL_DROP = "drop table BrowserTracker";
081            public static final String ORDER_BY_JPQL = " ORDER BY browserTracker.browserTrackerId ASC";
082            public static final String ORDER_BY_SQL = " ORDER BY BrowserTracker.browserTrackerId 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.portal.model.BrowserTracker"),
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.portal.model.BrowserTracker"),
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.portal.model.BrowserTracker"),
094                            true);
095            public static final long USERID_COLUMN_BITMASK = 1L;
096            public static final long BROWSERTRACKERID_COLUMN_BITMASK = 2L;
097            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
098                                    "lock.expiration.time.com.liferay.portal.model.BrowserTracker"));
099    
100            public BrowserTrackerModelImpl() {
101            }
102    
103            @Override
104            public long getPrimaryKey() {
105                    return _browserTrackerId;
106            }
107    
108            @Override
109            public void setPrimaryKey(long primaryKey) {
110                    setBrowserTrackerId(primaryKey);
111            }
112    
113            @Override
114            public Serializable getPrimaryKeyObj() {
115                    return _browserTrackerId;
116            }
117    
118            @Override
119            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
120                    setPrimaryKey(((Long)primaryKeyObj).longValue());
121            }
122    
123            @Override
124            public Class<?> getModelClass() {
125                    return BrowserTracker.class;
126            }
127    
128            @Override
129            public String getModelClassName() {
130                    return BrowserTracker.class.getName();
131            }
132    
133            @Override
134            public Map<String, Object> getModelAttributes() {
135                    Map<String, Object> attributes = new HashMap<String, Object>();
136    
137                    attributes.put("mvccVersion", getMvccVersion());
138                    attributes.put("browserTrackerId", getBrowserTrackerId());
139                    attributes.put("userId", getUserId());
140                    attributes.put("browserKey", getBrowserKey());
141    
142                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
143                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
144    
145                    return attributes;
146            }
147    
148            @Override
149            public void setModelAttributes(Map<String, Object> attributes) {
150                    Long mvccVersion = (Long)attributes.get("mvccVersion");
151    
152                    if (mvccVersion != null) {
153                            setMvccVersion(mvccVersion);
154                    }
155    
156                    Long browserTrackerId = (Long)attributes.get("browserTrackerId");
157    
158                    if (browserTrackerId != null) {
159                            setBrowserTrackerId(browserTrackerId);
160                    }
161    
162                    Long userId = (Long)attributes.get("userId");
163    
164                    if (userId != null) {
165                            setUserId(userId);
166                    }
167    
168                    Long browserKey = (Long)attributes.get("browserKey");
169    
170                    if (browserKey != null) {
171                            setBrowserKey(browserKey);
172                    }
173            }
174    
175            @Override
176            public long getMvccVersion() {
177                    return _mvccVersion;
178            }
179    
180            @Override
181            public void setMvccVersion(long mvccVersion) {
182                    _mvccVersion = mvccVersion;
183            }
184    
185            @Override
186            public long getBrowserTrackerId() {
187                    return _browserTrackerId;
188            }
189    
190            @Override
191            public void setBrowserTrackerId(long browserTrackerId) {
192                    _browserTrackerId = browserTrackerId;
193            }
194    
195            @Override
196            public long getUserId() {
197                    return _userId;
198            }
199    
200            @Override
201            public void setUserId(long userId) {
202                    _columnBitmask |= USERID_COLUMN_BITMASK;
203    
204                    if (!_setOriginalUserId) {
205                            _setOriginalUserId = true;
206    
207                            _originalUserId = _userId;
208                    }
209    
210                    _userId = userId;
211            }
212    
213            @Override
214            public String getUserUuid() {
215                    try {
216                            User user = UserLocalServiceUtil.getUserById(getUserId());
217    
218                            return user.getUuid();
219                    }
220                    catch (PortalException pe) {
221                            return StringPool.BLANK;
222                    }
223            }
224    
225            @Override
226            public void setUserUuid(String userUuid) {
227            }
228    
229            public long getOriginalUserId() {
230                    return _originalUserId;
231            }
232    
233            @Override
234            public long getBrowserKey() {
235                    return _browserKey;
236            }
237    
238            @Override
239            public void setBrowserKey(long browserKey) {
240                    _browserKey = browserKey;
241            }
242    
243            public long getColumnBitmask() {
244                    return _columnBitmask;
245            }
246    
247            @Override
248            public ExpandoBridge getExpandoBridge() {
249                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
250                            BrowserTracker.class.getName(), getPrimaryKey());
251            }
252    
253            @Override
254            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
255                    ExpandoBridge expandoBridge = getExpandoBridge();
256    
257                    expandoBridge.setAttributes(serviceContext);
258            }
259    
260            @Override
261            public BrowserTracker toEscapedModel() {
262                    if (_escapedModel == null) {
263                            _escapedModel = (BrowserTracker)ProxyUtil.newProxyInstance(_classLoader,
264                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
265                    }
266    
267                    return _escapedModel;
268            }
269    
270            @Override
271            public Object clone() {
272                    BrowserTrackerImpl browserTrackerImpl = new BrowserTrackerImpl();
273    
274                    browserTrackerImpl.setMvccVersion(getMvccVersion());
275                    browserTrackerImpl.setBrowserTrackerId(getBrowserTrackerId());
276                    browserTrackerImpl.setUserId(getUserId());
277                    browserTrackerImpl.setBrowserKey(getBrowserKey());
278    
279                    browserTrackerImpl.resetOriginalValues();
280    
281                    return browserTrackerImpl;
282            }
283    
284            @Override
285            public int compareTo(BrowserTracker browserTracker) {
286                    long primaryKey = browserTracker.getPrimaryKey();
287    
288                    if (getPrimaryKey() < primaryKey) {
289                            return -1;
290                    }
291                    else if (getPrimaryKey() > primaryKey) {
292                            return 1;
293                    }
294                    else {
295                            return 0;
296                    }
297            }
298    
299            @Override
300            public boolean equals(Object obj) {
301                    if (this == obj) {
302                            return true;
303                    }
304    
305                    if (!(obj instanceof BrowserTracker)) {
306                            return false;
307                    }
308    
309                    BrowserTracker browserTracker = (BrowserTracker)obj;
310    
311                    long primaryKey = browserTracker.getPrimaryKey();
312    
313                    if (getPrimaryKey() == primaryKey) {
314                            return true;
315                    }
316                    else {
317                            return false;
318                    }
319            }
320    
321            @Override
322            public int hashCode() {
323                    return (int)getPrimaryKey();
324            }
325    
326            @Override
327            public boolean isEntityCacheEnabled() {
328                    return ENTITY_CACHE_ENABLED;
329            }
330    
331            @Override
332            public boolean isFinderCacheEnabled() {
333                    return FINDER_CACHE_ENABLED;
334            }
335    
336            @Override
337            public void resetOriginalValues() {
338                    BrowserTrackerModelImpl browserTrackerModelImpl = this;
339    
340                    browserTrackerModelImpl._originalUserId = browserTrackerModelImpl._userId;
341    
342                    browserTrackerModelImpl._setOriginalUserId = false;
343    
344                    browserTrackerModelImpl._columnBitmask = 0;
345            }
346    
347            @Override
348            public CacheModel<BrowserTracker> toCacheModel() {
349                    BrowserTrackerCacheModel browserTrackerCacheModel = new BrowserTrackerCacheModel();
350    
351                    browserTrackerCacheModel.mvccVersion = getMvccVersion();
352    
353                    browserTrackerCacheModel.browserTrackerId = getBrowserTrackerId();
354    
355                    browserTrackerCacheModel.userId = getUserId();
356    
357                    browserTrackerCacheModel.browserKey = getBrowserKey();
358    
359                    return browserTrackerCacheModel;
360            }
361    
362            @Override
363            public String toString() {
364                    StringBundler sb = new StringBundler(9);
365    
366                    sb.append("{mvccVersion=");
367                    sb.append(getMvccVersion());
368                    sb.append(", browserTrackerId=");
369                    sb.append(getBrowserTrackerId());
370                    sb.append(", userId=");
371                    sb.append(getUserId());
372                    sb.append(", browserKey=");
373                    sb.append(getBrowserKey());
374                    sb.append("}");
375    
376                    return sb.toString();
377            }
378    
379            @Override
380            public String toXmlString() {
381                    StringBundler sb = new StringBundler(16);
382    
383                    sb.append("<model><model-name>");
384                    sb.append("com.liferay.portal.model.BrowserTracker");
385                    sb.append("</model-name>");
386    
387                    sb.append(
388                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
389                    sb.append(getMvccVersion());
390                    sb.append("]]></column-value></column>");
391                    sb.append(
392                            "<column><column-name>browserTrackerId</column-name><column-value><![CDATA[");
393                    sb.append(getBrowserTrackerId());
394                    sb.append("]]></column-value></column>");
395                    sb.append(
396                            "<column><column-name>userId</column-name><column-value><![CDATA[");
397                    sb.append(getUserId());
398                    sb.append("]]></column-value></column>");
399                    sb.append(
400                            "<column><column-name>browserKey</column-name><column-value><![CDATA[");
401                    sb.append(getBrowserKey());
402                    sb.append("]]></column-value></column>");
403    
404                    sb.append("</model>");
405    
406                    return sb.toString();
407            }
408    
409            private static final ClassLoader _classLoader = BrowserTracker.class.getClassLoader();
410            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
411                            BrowserTracker.class
412                    };
413            private long _mvccVersion;
414            private long _browserTrackerId;
415            private long _userId;
416            private long _originalUserId;
417            private boolean _setOriginalUserId;
418            private long _browserKey;
419            private long _columnBitmask;
420            private BrowserTracker _escapedModel;
421    }