001    /**
002     * Copyright (c) 2000-2011 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                    _createDate = createDate;
251            }
252    
253            @JSON
254            public Date getModifiedDate() {
255                    return _modifiedDate;
256            }
257    
258            public void setModifiedDate(Date modifiedDate) {
259                    _modifiedDate = modifiedDate;
260            }
261    
262            public String getClassName() {
263                    if (getClassNameId() <= 0) {
264                            return StringPool.BLANK;
265                    }
266    
267                    return PortalUtil.getClassName(getClassNameId());
268            }
269    
270            @JSON
271            public long getClassNameId() {
272                    return _classNameId;
273            }
274    
275            public void setClassNameId(long classNameId) {
276                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
277    
278                    if (!_setOriginalClassNameId) {
279                            _setOriginalClassNameId = true;
280    
281                            _originalClassNameId = _classNameId;
282                    }
283    
284                    _classNameId = classNameId;
285            }
286    
287            public long getOriginalClassNameId() {
288                    return _originalClassNameId;
289            }
290    
291            @JSON
292            public long getClassPK() {
293                    return _classPK;
294            }
295    
296            public void setClassPK(long classPK) {
297                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
298    
299                    if (!_setOriginalClassPK) {
300                            _setOriginalClassPK = true;
301    
302                            _originalClassPK = _classPK;
303                    }
304    
305                    _classPK = classPK;
306            }
307    
308            public long getOriginalClassPK() {
309                    return _originalClassPK;
310            }
311    
312            @JSON
313            public String getNumber() {
314                    if (_number == null) {
315                            return StringPool.BLANK;
316                    }
317                    else {
318                            return _number;
319                    }
320            }
321    
322            public void setNumber(String number) {
323                    _number = number;
324            }
325    
326            @JSON
327            public String getExtension() {
328                    if (_extension == null) {
329                            return StringPool.BLANK;
330                    }
331                    else {
332                            return _extension;
333                    }
334            }
335    
336            public void setExtension(String extension) {
337                    _extension = extension;
338            }
339    
340            @JSON
341            public int getTypeId() {
342                    return _typeId;
343            }
344    
345            public void setTypeId(int typeId) {
346                    _typeId = typeId;
347            }
348    
349            @JSON
350            public boolean getPrimary() {
351                    return _primary;
352            }
353    
354            public boolean isPrimary() {
355                    return _primary;
356            }
357    
358            public void setPrimary(boolean primary) {
359                    _columnBitmask |= PRIMARY_COLUMN_BITMASK;
360    
361                    if (!_setOriginalPrimary) {
362                            _setOriginalPrimary = true;
363    
364                            _originalPrimary = _primary;
365                    }
366    
367                    _primary = primary;
368            }
369    
370            public boolean getOriginalPrimary() {
371                    return _originalPrimary;
372            }
373    
374            public long getColumnBitmask() {
375                    return _columnBitmask;
376            }
377    
378            @Override
379            public Phone toEscapedModel() {
380                    if (_escapedModelProxy == null) {
381                            _escapedModelProxy = (Phone)ProxyUtil.newProxyInstance(_classLoader,
382                                            _escapedModelProxyInterfaces,
383                                            new AutoEscapeBeanHandler(this));
384                    }
385    
386                    return _escapedModelProxy;
387            }
388    
389            @Override
390            public ExpandoBridge getExpandoBridge() {
391                    if (_expandoBridge == null) {
392                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
393                                            Phone.class.getName(), getPrimaryKey());
394                    }
395    
396                    return _expandoBridge;
397            }
398    
399            @Override
400            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
401                    getExpandoBridge().setAttributes(serviceContext);
402            }
403    
404            @Override
405            public Object clone() {
406                    PhoneImpl phoneImpl = new PhoneImpl();
407    
408                    phoneImpl.setPhoneId(getPhoneId());
409                    phoneImpl.setCompanyId(getCompanyId());
410                    phoneImpl.setUserId(getUserId());
411                    phoneImpl.setUserName(getUserName());
412                    phoneImpl.setCreateDate(getCreateDate());
413                    phoneImpl.setModifiedDate(getModifiedDate());
414                    phoneImpl.setClassNameId(getClassNameId());
415                    phoneImpl.setClassPK(getClassPK());
416                    phoneImpl.setNumber(getNumber());
417                    phoneImpl.setExtension(getExtension());
418                    phoneImpl.setTypeId(getTypeId());
419                    phoneImpl.setPrimary(getPrimary());
420    
421                    phoneImpl.resetOriginalValues();
422    
423                    return phoneImpl;
424            }
425    
426            public int compareTo(Phone phone) {
427                    int value = 0;
428    
429                    value = DateUtil.compareTo(getCreateDate(), phone.getCreateDate());
430    
431                    if (value != 0) {
432                            return value;
433                    }
434    
435                    return 0;
436            }
437    
438            @Override
439            public boolean equals(Object obj) {
440                    if (obj == null) {
441                            return false;
442                    }
443    
444                    Phone phone = null;
445    
446                    try {
447                            phone = (Phone)obj;
448                    }
449                    catch (ClassCastException cce) {
450                            return false;
451                    }
452    
453                    long primaryKey = phone.getPrimaryKey();
454    
455                    if (getPrimaryKey() == primaryKey) {
456                            return true;
457                    }
458                    else {
459                            return false;
460                    }
461            }
462    
463            @Override
464            public int hashCode() {
465                    return (int)getPrimaryKey();
466            }
467    
468            @Override
469            public void resetOriginalValues() {
470                    PhoneModelImpl phoneModelImpl = this;
471    
472                    phoneModelImpl._originalCompanyId = phoneModelImpl._companyId;
473    
474                    phoneModelImpl._setOriginalCompanyId = false;
475    
476                    phoneModelImpl._originalUserId = phoneModelImpl._userId;
477    
478                    phoneModelImpl._setOriginalUserId = false;
479    
480                    phoneModelImpl._originalClassNameId = phoneModelImpl._classNameId;
481    
482                    phoneModelImpl._setOriginalClassNameId = false;
483    
484                    phoneModelImpl._originalClassPK = phoneModelImpl._classPK;
485    
486                    phoneModelImpl._setOriginalClassPK = false;
487    
488                    phoneModelImpl._originalPrimary = phoneModelImpl._primary;
489    
490                    phoneModelImpl._setOriginalPrimary = false;
491    
492                    phoneModelImpl._columnBitmask = 0;
493            }
494    
495            @Override
496            public CacheModel<Phone> toCacheModel() {
497                    PhoneCacheModel phoneCacheModel = new PhoneCacheModel();
498    
499                    phoneCacheModel.phoneId = getPhoneId();
500    
501                    phoneCacheModel.companyId = getCompanyId();
502    
503                    phoneCacheModel.userId = getUserId();
504    
505                    phoneCacheModel.userName = getUserName();
506    
507                    String userName = phoneCacheModel.userName;
508    
509                    if ((userName != null) && (userName.length() == 0)) {
510                            phoneCacheModel.userName = null;
511                    }
512    
513                    Date createDate = getCreateDate();
514    
515                    if (createDate != null) {
516                            phoneCacheModel.createDate = createDate.getTime();
517                    }
518                    else {
519                            phoneCacheModel.createDate = Long.MIN_VALUE;
520                    }
521    
522                    Date modifiedDate = getModifiedDate();
523    
524                    if (modifiedDate != null) {
525                            phoneCacheModel.modifiedDate = modifiedDate.getTime();
526                    }
527                    else {
528                            phoneCacheModel.modifiedDate = Long.MIN_VALUE;
529                    }
530    
531                    phoneCacheModel.classNameId = getClassNameId();
532    
533                    phoneCacheModel.classPK = getClassPK();
534    
535                    phoneCacheModel.number = getNumber();
536    
537                    String number = phoneCacheModel.number;
538    
539                    if ((number != null) && (number.length() == 0)) {
540                            phoneCacheModel.number = null;
541                    }
542    
543                    phoneCacheModel.extension = getExtension();
544    
545                    String extension = phoneCacheModel.extension;
546    
547                    if ((extension != null) && (extension.length() == 0)) {
548                            phoneCacheModel.extension = null;
549                    }
550    
551                    phoneCacheModel.typeId = getTypeId();
552    
553                    phoneCacheModel.primary = getPrimary();
554    
555                    return phoneCacheModel;
556            }
557    
558            @Override
559            public String toString() {
560                    StringBundler sb = new StringBundler(25);
561    
562                    sb.append("{phoneId=");
563                    sb.append(getPhoneId());
564                    sb.append(", companyId=");
565                    sb.append(getCompanyId());
566                    sb.append(", userId=");
567                    sb.append(getUserId());
568                    sb.append(", userName=");
569                    sb.append(getUserName());
570                    sb.append(", createDate=");
571                    sb.append(getCreateDate());
572                    sb.append(", modifiedDate=");
573                    sb.append(getModifiedDate());
574                    sb.append(", classNameId=");
575                    sb.append(getClassNameId());
576                    sb.append(", classPK=");
577                    sb.append(getClassPK());
578                    sb.append(", number=");
579                    sb.append(getNumber());
580                    sb.append(", extension=");
581                    sb.append(getExtension());
582                    sb.append(", typeId=");
583                    sb.append(getTypeId());
584                    sb.append(", primary=");
585                    sb.append(getPrimary());
586                    sb.append("}");
587    
588                    return sb.toString();
589            }
590    
591            public String toXmlString() {
592                    StringBundler sb = new StringBundler(40);
593    
594                    sb.append("<model><model-name>");
595                    sb.append("com.liferay.portal.model.Phone");
596                    sb.append("</model-name>");
597    
598                    sb.append(
599                            "<column><column-name>phoneId</column-name><column-value><![CDATA[");
600                    sb.append(getPhoneId());
601                    sb.append("]]></column-value></column>");
602                    sb.append(
603                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
604                    sb.append(getCompanyId());
605                    sb.append("]]></column-value></column>");
606                    sb.append(
607                            "<column><column-name>userId</column-name><column-value><![CDATA[");
608                    sb.append(getUserId());
609                    sb.append("]]></column-value></column>");
610                    sb.append(
611                            "<column><column-name>userName</column-name><column-value><![CDATA[");
612                    sb.append(getUserName());
613                    sb.append("]]></column-value></column>");
614                    sb.append(
615                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
616                    sb.append(getCreateDate());
617                    sb.append("]]></column-value></column>");
618                    sb.append(
619                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
620                    sb.append(getModifiedDate());
621                    sb.append("]]></column-value></column>");
622                    sb.append(
623                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
624                    sb.append(getClassNameId());
625                    sb.append("]]></column-value></column>");
626                    sb.append(
627                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
628                    sb.append(getClassPK());
629                    sb.append("]]></column-value></column>");
630                    sb.append(
631                            "<column><column-name>number</column-name><column-value><![CDATA[");
632                    sb.append(getNumber());
633                    sb.append("]]></column-value></column>");
634                    sb.append(
635                            "<column><column-name>extension</column-name><column-value><![CDATA[");
636                    sb.append(getExtension());
637                    sb.append("]]></column-value></column>");
638                    sb.append(
639                            "<column><column-name>typeId</column-name><column-value><![CDATA[");
640                    sb.append(getTypeId());
641                    sb.append("]]></column-value></column>");
642                    sb.append(
643                            "<column><column-name>primary</column-name><column-value><![CDATA[");
644                    sb.append(getPrimary());
645                    sb.append("]]></column-value></column>");
646    
647                    sb.append("</model>");
648    
649                    return sb.toString();
650            }
651    
652            private static ClassLoader _classLoader = Phone.class.getClassLoader();
653            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
654                            Phone.class
655                    };
656            private long _phoneId;
657            private long _companyId;
658            private long _originalCompanyId;
659            private boolean _setOriginalCompanyId;
660            private long _userId;
661            private String _userUuid;
662            private long _originalUserId;
663            private boolean _setOriginalUserId;
664            private String _userName;
665            private Date _createDate;
666            private Date _modifiedDate;
667            private long _classNameId;
668            private long _originalClassNameId;
669            private boolean _setOriginalClassNameId;
670            private long _classPK;
671            private long _originalClassPK;
672            private boolean _setOriginalClassPK;
673            private String _number;
674            private String _extension;
675            private int _typeId;
676            private boolean _primary;
677            private boolean _originalPrimary;
678            private boolean _setOriginalPrimary;
679            private transient ExpandoBridge _expandoBridge;
680            private long _columnBitmask;
681            private Phone _escapedModelProxy;
682    }