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                            { "companyId", Types.BIGINT },
068                            { "userId", Types.BIGINT },
069                            { "browserKey", Types.BIGINT }
070                    };
071            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
072    
073            static {
074                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
075                    TABLE_COLUMNS_MAP.put("browserTrackerId", Types.BIGINT);
076                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
077                    TABLE_COLUMNS_MAP.put("userId", Types.BIGINT);
078                    TABLE_COLUMNS_MAP.put("browserKey", Types.BIGINT);
079            }
080    
081            public static final String TABLE_SQL_CREATE = "create table BrowserTracker (mvccVersion LONG default 0,browserTrackerId LONG not null primary key,companyId LONG,userId LONG,browserKey LONG)";
082            public static final String TABLE_SQL_DROP = "drop table BrowserTracker";
083            public static final String ORDER_BY_JPQL = " ORDER BY browserTracker.browserTrackerId ASC";
084            public static final String ORDER_BY_SQL = " ORDER BY BrowserTracker.browserTrackerId ASC";
085            public static final String DATA_SOURCE = "liferayDataSource";
086            public static final String SESSION_FACTORY = "liferaySessionFactory";
087            public static final String TX_MANAGER = "liferayTransactionManager";
088            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
089                                    "value.object.entity.cache.enabled.com.liferay.portal.model.BrowserTracker"),
090                            true);
091            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
092                                    "value.object.finder.cache.enabled.com.liferay.portal.model.BrowserTracker"),
093                            true);
094            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
095                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.BrowserTracker"),
096                            true);
097            public static final long USERID_COLUMN_BITMASK = 1L;
098            public static final long BROWSERTRACKERID_COLUMN_BITMASK = 2L;
099            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
100                                    "lock.expiration.time.com.liferay.portal.model.BrowserTracker"));
101    
102            public BrowserTrackerModelImpl() {
103            }
104    
105            @Override
106            public long getPrimaryKey() {
107                    return _browserTrackerId;
108            }
109    
110            @Override
111            public void setPrimaryKey(long primaryKey) {
112                    setBrowserTrackerId(primaryKey);
113            }
114    
115            @Override
116            public Serializable getPrimaryKeyObj() {
117                    return _browserTrackerId;
118            }
119    
120            @Override
121            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
122                    setPrimaryKey(((Long)primaryKeyObj).longValue());
123            }
124    
125            @Override
126            public Class<?> getModelClass() {
127                    return BrowserTracker.class;
128            }
129    
130            @Override
131            public String getModelClassName() {
132                    return BrowserTracker.class.getName();
133            }
134    
135            @Override
136            public Map<String, Object> getModelAttributes() {
137                    Map<String, Object> attributes = new HashMap<String, Object>();
138    
139                    attributes.put("mvccVersion", getMvccVersion());
140                    attributes.put("browserTrackerId", getBrowserTrackerId());
141                    attributes.put("companyId", getCompanyId());
142                    attributes.put("userId", getUserId());
143                    attributes.put("browserKey", getBrowserKey());
144    
145                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
146                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
147    
148                    return attributes;
149            }
150    
151            @Override
152            public void setModelAttributes(Map<String, Object> attributes) {
153                    Long mvccVersion = (Long)attributes.get("mvccVersion");
154    
155                    if (mvccVersion != null) {
156                            setMvccVersion(mvccVersion);
157                    }
158    
159                    Long browserTrackerId = (Long)attributes.get("browserTrackerId");
160    
161                    if (browserTrackerId != null) {
162                            setBrowserTrackerId(browserTrackerId);
163                    }
164    
165                    Long companyId = (Long)attributes.get("companyId");
166    
167                    if (companyId != null) {
168                            setCompanyId(companyId);
169                    }
170    
171                    Long userId = (Long)attributes.get("userId");
172    
173                    if (userId != null) {
174                            setUserId(userId);
175                    }
176    
177                    Long browserKey = (Long)attributes.get("browserKey");
178    
179                    if (browserKey != null) {
180                            setBrowserKey(browserKey);
181                    }
182            }
183    
184            @Override
185            public long getMvccVersion() {
186                    return _mvccVersion;
187            }
188    
189            @Override
190            public void setMvccVersion(long mvccVersion) {
191                    _mvccVersion = mvccVersion;
192            }
193    
194            @Override
195            public long getBrowserTrackerId() {
196                    return _browserTrackerId;
197            }
198    
199            @Override
200            public void setBrowserTrackerId(long browserTrackerId) {
201                    _browserTrackerId = browserTrackerId;
202            }
203    
204            @Override
205            public long getCompanyId() {
206                    return _companyId;
207            }
208    
209            @Override
210            public void setCompanyId(long companyId) {
211                    _companyId = companyId;
212            }
213    
214            @Override
215            public long getUserId() {
216                    return _userId;
217            }
218    
219            @Override
220            public void setUserId(long userId) {
221                    _columnBitmask |= USERID_COLUMN_BITMASK;
222    
223                    if (!_setOriginalUserId) {
224                            _setOriginalUserId = true;
225    
226                            _originalUserId = _userId;
227                    }
228    
229                    _userId = userId;
230            }
231    
232            @Override
233            public String getUserUuid() {
234                    try {
235                            User user = UserLocalServiceUtil.getUserById(getUserId());
236    
237                            return user.getUuid();
238                    }
239                    catch (PortalException pe) {
240                            return StringPool.BLANK;
241                    }
242            }
243    
244            @Override
245            public void setUserUuid(String userUuid) {
246            }
247    
248            public long getOriginalUserId() {
249                    return _originalUserId;
250            }
251    
252            @Override
253            public long getBrowserKey() {
254                    return _browserKey;
255            }
256    
257            @Override
258            public void setBrowserKey(long browserKey) {
259                    _browserKey = browserKey;
260            }
261    
262            public long getColumnBitmask() {
263                    return _columnBitmask;
264            }
265    
266            @Override
267            public ExpandoBridge getExpandoBridge() {
268                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
269                            BrowserTracker.class.getName(), getPrimaryKey());
270            }
271    
272            @Override
273            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
274                    ExpandoBridge expandoBridge = getExpandoBridge();
275    
276                    expandoBridge.setAttributes(serviceContext);
277            }
278    
279            @Override
280            public BrowserTracker toEscapedModel() {
281                    if (_escapedModel == null) {
282                            _escapedModel = (BrowserTracker)ProxyUtil.newProxyInstance(_classLoader,
283                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
284                    }
285    
286                    return _escapedModel;
287            }
288    
289            @Override
290            public Object clone() {
291                    BrowserTrackerImpl browserTrackerImpl = new BrowserTrackerImpl();
292    
293                    browserTrackerImpl.setMvccVersion(getMvccVersion());
294                    browserTrackerImpl.setBrowserTrackerId(getBrowserTrackerId());
295                    browserTrackerImpl.setCompanyId(getCompanyId());
296                    browserTrackerImpl.setUserId(getUserId());
297                    browserTrackerImpl.setBrowserKey(getBrowserKey());
298    
299                    browserTrackerImpl.resetOriginalValues();
300    
301                    return browserTrackerImpl;
302            }
303    
304            @Override
305            public int compareTo(BrowserTracker browserTracker) {
306                    long primaryKey = browserTracker.getPrimaryKey();
307    
308                    if (getPrimaryKey() < primaryKey) {
309                            return -1;
310                    }
311                    else if (getPrimaryKey() > primaryKey) {
312                            return 1;
313                    }
314                    else {
315                            return 0;
316                    }
317            }
318    
319            @Override
320            public boolean equals(Object obj) {
321                    if (this == obj) {
322                            return true;
323                    }
324    
325                    if (!(obj instanceof BrowserTracker)) {
326                            return false;
327                    }
328    
329                    BrowserTracker browserTracker = (BrowserTracker)obj;
330    
331                    long primaryKey = browserTracker.getPrimaryKey();
332    
333                    if (getPrimaryKey() == primaryKey) {
334                            return true;
335                    }
336                    else {
337                            return false;
338                    }
339            }
340    
341            @Override
342            public int hashCode() {
343                    return (int)getPrimaryKey();
344            }
345    
346            @Override
347            public boolean isEntityCacheEnabled() {
348                    return ENTITY_CACHE_ENABLED;
349            }
350    
351            @Override
352            public boolean isFinderCacheEnabled() {
353                    return FINDER_CACHE_ENABLED;
354            }
355    
356            @Override
357            public void resetOriginalValues() {
358                    BrowserTrackerModelImpl browserTrackerModelImpl = this;
359    
360                    browserTrackerModelImpl._originalUserId = browserTrackerModelImpl._userId;
361    
362                    browserTrackerModelImpl._setOriginalUserId = false;
363    
364                    browserTrackerModelImpl._columnBitmask = 0;
365            }
366    
367            @Override
368            public CacheModel<BrowserTracker> toCacheModel() {
369                    BrowserTrackerCacheModel browserTrackerCacheModel = new BrowserTrackerCacheModel();
370    
371                    browserTrackerCacheModel.mvccVersion = getMvccVersion();
372    
373                    browserTrackerCacheModel.browserTrackerId = getBrowserTrackerId();
374    
375                    browserTrackerCacheModel.companyId = getCompanyId();
376    
377                    browserTrackerCacheModel.userId = getUserId();
378    
379                    browserTrackerCacheModel.browserKey = getBrowserKey();
380    
381                    return browserTrackerCacheModel;
382            }
383    
384            @Override
385            public String toString() {
386                    StringBundler sb = new StringBundler(11);
387    
388                    sb.append("{mvccVersion=");
389                    sb.append(getMvccVersion());
390                    sb.append(", browserTrackerId=");
391                    sb.append(getBrowserTrackerId());
392                    sb.append(", companyId=");
393                    sb.append(getCompanyId());
394                    sb.append(", userId=");
395                    sb.append(getUserId());
396                    sb.append(", browserKey=");
397                    sb.append(getBrowserKey());
398                    sb.append("}");
399    
400                    return sb.toString();
401            }
402    
403            @Override
404            public String toXmlString() {
405                    StringBundler sb = new StringBundler(19);
406    
407                    sb.append("<model><model-name>");
408                    sb.append("com.liferay.portal.model.BrowserTracker");
409                    sb.append("</model-name>");
410    
411                    sb.append(
412                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
413                    sb.append(getMvccVersion());
414                    sb.append("]]></column-value></column>");
415                    sb.append(
416                            "<column><column-name>browserTrackerId</column-name><column-value><![CDATA[");
417                    sb.append(getBrowserTrackerId());
418                    sb.append("]]></column-value></column>");
419                    sb.append(
420                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
421                    sb.append(getCompanyId());
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>browserKey</column-name><column-value><![CDATA[");
429                    sb.append(getBrowserKey());
430                    sb.append("]]></column-value></column>");
431    
432                    sb.append("</model>");
433    
434                    return sb.toString();
435            }
436    
437            private static final ClassLoader _classLoader = BrowserTracker.class.getClassLoader();
438            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
439                            BrowserTracker.class
440                    };
441            private long _mvccVersion;
442            private long _browserTrackerId;
443            private long _companyId;
444            private long _userId;
445            private long _originalUserId;
446            private boolean _setOriginalUserId;
447            private long _browserKey;
448            private long _columnBitmask;
449            private BrowserTracker _escapedModel;
450    }