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