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