001    /**
002     * Copyright (c) 2000-2012 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 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.kernel.util.StringPool;
025    import com.liferay.portal.model.CacheModel;
026    import com.liferay.portal.model.Phone;
027    import com.liferay.portal.model.PhoneModel;
028    import com.liferay.portal.model.PhoneSoap;
029    import com.liferay.portal.service.ServiceContext;
030    import com.liferay.portal.util.PortalUtil;
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.ArrayList;
040    import java.util.Date;
041    import java.util.List;
042    
043    /**
044     * The base model implementation for the Phone service. Represents a row in the "Phone" database table, with each column mapped to a property of this class.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link com.liferay.portal.model.PhoneModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link PhoneImpl}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see PhoneImpl
052     * @see com.liferay.portal.model.Phone
053     * @see com.liferay.portal.model.PhoneModel
054     * @generated
055     */
056    @JSON(strict = true)
057    public class PhoneModelImpl extends BaseModelImpl<Phone> implements PhoneModel {
058            /*
059             * NOTE FOR DEVELOPERS:
060             *
061             * Never modify or reference this class directly. All methods that expect a phone model instance should use the {@link com.liferay.portal.model.Phone} interface instead.
062             */
063            public static final String TABLE_NAME = "Phone";
064            public static final Object[][] TABLE_COLUMNS = {
065                            { "phoneId", Types.BIGINT },
066                            { "companyId", Types.BIGINT },
067                            { "userId", Types.BIGINT },
068                            { "userName", Types.VARCHAR },
069                            { "createDate", Types.TIMESTAMP },
070                            { "modifiedDate", Types.TIMESTAMP },
071                            { "classNameId", Types.BIGINT },
072                            { "classPK", Types.BIGINT },
073                            { "number_", Types.VARCHAR },
074                            { "extension", Types.VARCHAR },
075                            { "typeId", Types.INTEGER },
076                            { "primary_", Types.BOOLEAN }
077                    };
078            public static final String TABLE_SQL_CREATE = "create table Phone (phoneId LONG not null primary key,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,classNameId LONG,classPK LONG,number_ VARCHAR(75) null,extension VARCHAR(75) null,typeId INTEGER,primary_ BOOLEAN)";
079            public static final String TABLE_SQL_DROP = "drop table Phone";
080            public static final String ORDER_BY_JPQL = " ORDER BY phone.createDate ASC";
081            public static final String ORDER_BY_SQL = " ORDER BY Phone.createDate ASC";
082            public static final String DATA_SOURCE = "liferayDataSource";
083            public static final String SESSION_FACTORY = "liferaySessionFactory";
084            public static final String TX_MANAGER = "liferayTransactionManager";
085            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
086                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Phone"),
087                            true);
088            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
089                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Phone"),
090                            true);
091            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
092                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Phone"),
093                            true);
094            public static long CLASSNAMEID_COLUMN_BITMASK = 1L;
095            public static long CLASSPK_COLUMN_BITMASK = 2L;
096            public static long COMPANYID_COLUMN_BITMASK = 4L;
097            public static long PRIMARY_COLUMN_BITMASK = 8L;
098            public static long USERID_COLUMN_BITMASK = 16L;
099    
100            /**
101             * Converts the soap model instance into a normal model instance.
102             *
103             * @param soapModel the soap model instance to convert
104             * @return the normal model instance
105             */
106            public static Phone toModel(PhoneSoap soapModel) {
107                    Phone model = new PhoneImpl();
108    
109                    model.setPhoneId(soapModel.getPhoneId());
110                    model.setCompanyId(soapModel.getCompanyId());
111                    model.setUserId(soapModel.getUserId());
112                    model.setUserName(soapModel.getUserName());
113                    model.setCreateDate(soapModel.getCreateDate());
114                    model.setModifiedDate(soapModel.getModifiedDate());
115                    model.setClassNameId(soapModel.getClassNameId());
116                    model.setClassPK(soapModel.getClassPK());
117                    model.setNumber(soapModel.getNumber());
118                    model.setExtension(soapModel.getExtension());
119                    model.setTypeId(soapModel.getTypeId());
120                    model.setPrimary(soapModel.getPrimary());
121    
122                    return model;
123            }
124    
125            /**
126             * Converts the soap model instances into normal model instances.
127             *
128             * @param soapModels the soap model instances to convert
129             * @return the normal model instances
130             */
131            public static List<Phone> toModels(PhoneSoap[] soapModels) {
132                    List<Phone> models = new ArrayList<Phone>(soapModels.length);
133    
134                    for (PhoneSoap soapModel : soapModels) {
135                            models.add(toModel(soapModel));
136                    }
137    
138                    return models;
139            }
140    
141            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
142                                    "lock.expiration.time.com.liferay.portal.model.Phone"));
143    
144            public PhoneModelImpl() {
145            }
146    
147            public long getPrimaryKey() {
148                    return _phoneId;
149            }
150    
151            public void setPrimaryKey(long primaryKey) {
152                    setPhoneId(primaryKey);
153            }
154    
155            public Serializable getPrimaryKeyObj() {
156                    return new Long(_phoneId);
157            }
158    
159            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
160                    setPrimaryKey(((Long)primaryKeyObj).longValue());
161            }
162    
163            public Class<?> getModelClass() {
164                    return Phone.class;
165            }
166    
167            public String getModelClassName() {
168                    return Phone.class.getName();
169            }
170    
171            @JSON
172            public long getPhoneId() {
173                    return _phoneId;
174            }
175    
176            public void setPhoneId(long phoneId) {
177                    _phoneId = phoneId;
178            }
179    
180            @JSON
181            public long getCompanyId() {
182                    return _companyId;
183            }
184    
185            public void setCompanyId(long companyId) {
186                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
187    
188                    if (!_setOriginalCompanyId) {
189                            _setOriginalCompanyId = true;
190    
191                            _originalCompanyId = _companyId;
192                    }
193    
194                    _companyId = companyId;
195            }
196    
197            public long getOriginalCompanyId() {
198                    return _originalCompanyId;
199            }
200    
201            @JSON
202            public long getUserId() {
203                    return _userId;
204            }
205    
206            public void setUserId(long userId) {
207                    _columnBitmask |= USERID_COLUMN_BITMASK;
208    
209                    if (!_setOriginalUserId) {
210                            _setOriginalUserId = true;
211    
212                            _originalUserId = _userId;
213                    }
214    
215                    _userId = userId;
216            }
217    
218            public String getUserUuid() throws SystemException {
219                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
220            }
221    
222            public void setUserUuid(String userUuid) {
223                    _userUuid = userUuid;
224            }
225    
226            public long getOriginalUserId() {
227                    return _originalUserId;
228            }
229    
230            @JSON
231            public String getUserName() {
232                    if (_userName == null) {
233                            return StringPool.BLANK;
234                    }
235                    else {
236                            return _userName;
237                    }
238            }
239    
240            public void setUserName(String userName) {
241                    _userName = userName;
242            }
243    
244            @JSON
245            public Date getCreateDate() {
246                    return _createDate;
247            }
248    
249            public void setCreateDate(Date createDate) {
250                    _columnBitmask = -1L;
251    
252                    _createDate = createDate;
253            }
254    
255            @JSON
256            public Date getModifiedDate() {
257                    return _modifiedDate;
258            }
259    
260            public void setModifiedDate(Date modifiedDate) {
261                    _modifiedDate = modifiedDate;
262            }
263    
264            public String getClassName() {
265                    if (getClassNameId() <= 0) {
266                            return StringPool.BLANK;
267                    }
268    
269                    return PortalUtil.getClassName(getClassNameId());
270            }
271    
272            @JSON
273            public long getClassNameId() {
274                    return _classNameId;
275            }
276    
277            public void setClassNameId(long classNameId) {
278                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
279    
280                    if (!_setOriginalClassNameId) {
281                            _setOriginalClassNameId = true;
282    
283                            _originalClassNameId = _classNameId;
284                    }
285    
286                    _classNameId = classNameId;
287            }
288    
289            public long getOriginalClassNameId() {
290                    return _originalClassNameId;
291            }
292    
293            @JSON
294            public long getClassPK() {
295                    return _classPK;
296            }
297    
298            public void setClassPK(long classPK) {
299                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
300    
301                    if (!_setOriginalClassPK) {
302                            _setOriginalClassPK = true;
303    
304                            _originalClassPK = _classPK;
305                    }
306    
307                    _classPK = classPK;
308            }
309    
310            public long getOriginalClassPK() {
311                    return _originalClassPK;
312            }
313    
314            @JSON
315            public String getNumber() {
316                    if (_number == null) {
317                            return StringPool.BLANK;
318                    }
319                    else {
320                            return _number;
321                    }
322            }
323    
324            public void setNumber(String number) {
325                    _number = number;
326            }
327    
328            @JSON
329            public String getExtension() {
330                    if (_extension == null) {
331                            return StringPool.BLANK;
332                    }
333                    else {
334                            return _extension;
335                    }
336            }
337    
338            public void setExtension(String extension) {
339                    _extension = extension;
340            }
341    
342            @JSON
343            public int getTypeId() {
344                    return _typeId;
345            }
346    
347            public void setTypeId(int typeId) {
348                    _typeId = typeId;
349            }
350    
351            @JSON
352            public boolean getPrimary() {
353                    return _primary;
354            }
355    
356            public boolean isPrimary() {
357                    return _primary;
358            }
359    
360            public void setPrimary(boolean primary) {
361                    _columnBitmask |= PRIMARY_COLUMN_BITMASK;
362    
363                    if (!_setOriginalPrimary) {
364                            _setOriginalPrimary = true;
365    
366                            _originalPrimary = _primary;
367                    }
368    
369                    _primary = primary;
370            }
371    
372            public boolean getOriginalPrimary() {
373                    return _originalPrimary;
374            }
375    
376            public long getColumnBitmask() {
377                    return _columnBitmask;
378            }
379    
380            @Override
381            public Phone toEscapedModel() {
382                    if (_escapedModelProxy == null) {
383                            _escapedModelProxy = (Phone)ProxyUtil.newProxyInstance(_classLoader,
384                                            _escapedModelProxyInterfaces,
385                                            new AutoEscapeBeanHandler(this));
386                    }
387    
388                    return _escapedModelProxy;
389            }
390    
391            @Override
392            public ExpandoBridge getExpandoBridge() {
393                    if (_expandoBridge == null) {
394                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
395                                            Phone.class.getName(), getPrimaryKey());
396                    }
397    
398                    return _expandoBridge;
399            }
400    
401            @Override
402            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
403                    getExpandoBridge().setAttributes(serviceContext);
404            }
405    
406            @Override
407            public Object clone() {
408                    PhoneImpl phoneImpl = new PhoneImpl();
409    
410                    phoneImpl.setPhoneId(getPhoneId());
411                    phoneImpl.setCompanyId(getCompanyId());
412                    phoneImpl.setUserId(getUserId());
413                    phoneImpl.setUserName(getUserName());
414                    phoneImpl.setCreateDate(getCreateDate());
415                    phoneImpl.setModifiedDate(getModifiedDate());
416                    phoneImpl.setClassNameId(getClassNameId());
417                    phoneImpl.setClassPK(getClassPK());
418                    phoneImpl.setNumber(getNumber());
419                    phoneImpl.setExtension(getExtension());
420                    phoneImpl.setTypeId(getTypeId());
421                    phoneImpl.setPrimary(getPrimary());
422    
423                    phoneImpl.resetOriginalValues();
424    
425                    return phoneImpl;
426            }
427    
428            public int compareTo(Phone phone) {
429                    int value = 0;
430    
431                    value = DateUtil.compareTo(getCreateDate(), phone.getCreateDate());
432    
433                    if (value != 0) {
434                            return value;
435                    }
436    
437                    return 0;
438            }
439    
440            @Override
441            public boolean equals(Object obj) {
442                    if (obj == null) {
443                            return false;
444                    }
445    
446                    Phone phone = null;
447    
448                    try {
449                            phone = (Phone)obj;
450                    }
451                    catch (ClassCastException cce) {
452                            return false;
453                    }
454    
455                    long primaryKey = phone.getPrimaryKey();
456    
457                    if (getPrimaryKey() == primaryKey) {
458                            return true;
459                    }
460                    else {
461                            return false;
462                    }
463            }
464    
465            @Override
466            public int hashCode() {
467                    return (int)getPrimaryKey();
468            }
469    
470            @Override
471            public void resetOriginalValues() {
472                    PhoneModelImpl phoneModelImpl = this;
473    
474                    phoneModelImpl._originalCompanyId = phoneModelImpl._companyId;
475    
476                    phoneModelImpl._setOriginalCompanyId = false;
477    
478                    phoneModelImpl._originalUserId = phoneModelImpl._userId;
479    
480                    phoneModelImpl._setOriginalUserId = false;
481    
482                    phoneModelImpl._originalClassNameId = phoneModelImpl._classNameId;
483    
484                    phoneModelImpl._setOriginalClassNameId = false;
485    
486                    phoneModelImpl._originalClassPK = phoneModelImpl._classPK;
487    
488                    phoneModelImpl._setOriginalClassPK = false;
489    
490                    phoneModelImpl._originalPrimary = phoneModelImpl._primary;
491    
492                    phoneModelImpl._setOriginalPrimary = false;
493    
494                    phoneModelImpl._columnBitmask = 0;
495            }
496    
497            @Override
498            public CacheModel<Phone> toCacheModel() {
499                    PhoneCacheModel phoneCacheModel = new PhoneCacheModel();
500    
501                    phoneCacheModel.phoneId = getPhoneId();
502    
503                    phoneCacheModel.companyId = getCompanyId();
504    
505                    phoneCacheModel.userId = getUserId();
506    
507                    phoneCacheModel.userName = getUserName();
508    
509                    String userName = phoneCacheModel.userName;
510    
511                    if ((userName != null) && (userName.length() == 0)) {
512                            phoneCacheModel.userName = null;
513                    }
514    
515                    Date createDate = getCreateDate();
516    
517                    if (createDate != null) {
518                            phoneCacheModel.createDate = createDate.getTime();
519                    }
520                    else {
521                            phoneCacheModel.createDate = Long.MIN_VALUE;
522                    }
523    
524                    Date modifiedDate = getModifiedDate();
525    
526                    if (modifiedDate != null) {
527                            phoneCacheModel.modifiedDate = modifiedDate.getTime();
528                    }
529                    else {
530                            phoneCacheModel.modifiedDate = Long.MIN_VALUE;
531                    }
532    
533                    phoneCacheModel.classNameId = getClassNameId();
534    
535                    phoneCacheModel.classPK = getClassPK();
536    
537                    phoneCacheModel.number = getNumber();
538    
539                    String number = phoneCacheModel.number;
540    
541                    if ((number != null) && (number.length() == 0)) {
542                            phoneCacheModel.number = null;
543                    }
544    
545                    phoneCacheModel.extension = getExtension();
546    
547                    String extension = phoneCacheModel.extension;
548    
549                    if ((extension != null) && (extension.length() == 0)) {
550                            phoneCacheModel.extension = null;
551                    }
552    
553                    phoneCacheModel.typeId = getTypeId();
554    
555                    phoneCacheModel.primary = getPrimary();
556    
557                    return phoneCacheModel;
558            }
559    
560            @Override
561            public String toString() {
562                    StringBundler sb = new StringBundler(25);
563    
564                    sb.append("{phoneId=");
565                    sb.append(getPhoneId());
566                    sb.append(", companyId=");
567                    sb.append(getCompanyId());
568                    sb.append(", userId=");
569                    sb.append(getUserId());
570                    sb.append(", userName=");
571                    sb.append(getUserName());
572                    sb.append(", createDate=");
573                    sb.append(getCreateDate());
574                    sb.append(", modifiedDate=");
575                    sb.append(getModifiedDate());
576                    sb.append(", classNameId=");
577                    sb.append(getClassNameId());
578                    sb.append(", classPK=");
579                    sb.append(getClassPK());
580                    sb.append(", number=");
581                    sb.append(getNumber());
582                    sb.append(", extension=");
583                    sb.append(getExtension());
584                    sb.append(", typeId=");
585                    sb.append(getTypeId());
586                    sb.append(", primary=");
587                    sb.append(getPrimary());
588                    sb.append("}");
589    
590                    return sb.toString();
591            }
592    
593            public String toXmlString() {
594                    StringBundler sb = new StringBundler(40);
595    
596                    sb.append("<model><model-name>");
597                    sb.append("com.liferay.portal.model.Phone");
598                    sb.append("</model-name>");
599    
600                    sb.append(
601                            "<column><column-name>phoneId</column-name><column-value><![CDATA[");
602                    sb.append(getPhoneId());
603                    sb.append("]]></column-value></column>");
604                    sb.append(
605                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
606                    sb.append(getCompanyId());
607                    sb.append("]]></column-value></column>");
608                    sb.append(
609                            "<column><column-name>userId</column-name><column-value><![CDATA[");
610                    sb.append(getUserId());
611                    sb.append("]]></column-value></column>");
612                    sb.append(
613                            "<column><column-name>userName</column-name><column-value><![CDATA[");
614                    sb.append(getUserName());
615                    sb.append("]]></column-value></column>");
616                    sb.append(
617                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
618                    sb.append(getCreateDate());
619                    sb.append("]]></column-value></column>");
620                    sb.append(
621                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
622                    sb.append(getModifiedDate());
623                    sb.append("]]></column-value></column>");
624                    sb.append(
625                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
626                    sb.append(getClassNameId());
627                    sb.append("]]></column-value></column>");
628                    sb.append(
629                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
630                    sb.append(getClassPK());
631                    sb.append("]]></column-value></column>");
632                    sb.append(
633                            "<column><column-name>number</column-name><column-value><![CDATA[");
634                    sb.append(getNumber());
635                    sb.append("]]></column-value></column>");
636                    sb.append(
637                            "<column><column-name>extension</column-name><column-value><![CDATA[");
638                    sb.append(getExtension());
639                    sb.append("]]></column-value></column>");
640                    sb.append(
641                            "<column><column-name>typeId</column-name><column-value><![CDATA[");
642                    sb.append(getTypeId());
643                    sb.append("]]></column-value></column>");
644                    sb.append(
645                            "<column><column-name>primary</column-name><column-value><![CDATA[");
646                    sb.append(getPrimary());
647                    sb.append("]]></column-value></column>");
648    
649                    sb.append("</model>");
650    
651                    return sb.toString();
652            }
653    
654            private static ClassLoader _classLoader = Phone.class.getClassLoader();
655            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
656                            Phone.class
657                    };
658            private long _phoneId;
659            private long _companyId;
660            private long _originalCompanyId;
661            private boolean _setOriginalCompanyId;
662            private long _userId;
663            private String _userUuid;
664            private long _originalUserId;
665            private boolean _setOriginalUserId;
666            private String _userName;
667            private Date _createDate;
668            private Date _modifiedDate;
669            private long _classNameId;
670            private long _originalClassNameId;
671            private boolean _setOriginalClassNameId;
672            private long _classPK;
673            private long _originalClassPK;
674            private boolean _setOriginalClassPK;
675            private String _number;
676            private String _extension;
677            private int _typeId;
678            private boolean _primary;
679            private boolean _originalPrimary;
680            private boolean _setOriginalPrimary;
681            private transient ExpandoBridge _expandoBridge;
682            private long _columnBitmask;
683            private Phone _escapedModelProxy;
684    }