Java tutorial
/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.bootcamp.model.impl; import aQute.bnd.annotation.ProviderType; import com.liferay.bootcamp.model.Book; import com.liferay.bootcamp.model.BookModel; import com.liferay.bootcamp.model.BookSoap; import com.liferay.expando.kernel.model.ExpandoBridge; import com.liferay.expando.kernel.util.ExpandoBridgeFactoryUtil; import com.liferay.exportimport.kernel.lar.StagedModelType; import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler; import com.liferay.portal.kernel.exception.PortalException; import com.liferay.portal.kernel.json.JSON; import com.liferay.portal.kernel.model.CacheModel; import com.liferay.portal.kernel.model.User; import com.liferay.portal.kernel.model.impl.BaseModelImpl; import com.liferay.portal.kernel.service.ServiceContext; import com.liferay.portal.kernel.service.UserLocalServiceUtil; import com.liferay.portal.kernel.util.GetterUtil; import com.liferay.portal.kernel.util.PortalUtil; import com.liferay.portal.kernel.util.ProxyUtil; import com.liferay.portal.kernel.util.StringBundler; import com.liferay.portal.kernel.util.StringPool; import java.io.Serializable; import java.sql.Types; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * The base model implementation for the Book service. Represents a row in the "BOOK_Book" database table, with each column mapped to a property of this class. * * <p> * This implementation and its corresponding interface {@link BookModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link BookImpl}. * </p> * * @author Brian Wing Shun Chan * @see BookImpl * @see Book * @see BookModel * @generated */ @JSON(strict = true) @ProviderType public class BookModelImpl extends BaseModelImpl<Book> implements BookModel { /* * NOTE FOR DEVELOPERS: * * Never modify or reference this class directly. All methods that expect a book model instance should use the {@link Book} interface instead. */ public static final String TABLE_NAME = "BOOK_Book"; public static final Object[][] TABLE_COLUMNS = { { "uuid_", Types.VARCHAR }, { "bookId", Types.BIGINT }, { "companyId", Types.BIGINT }, { "groupId", Types.BIGINT }, { "userId", Types.BIGINT }, { "createDate", Types.TIMESTAMP }, { "modifiedDate", Types.TIMESTAMP }, { "bookName", Types.VARCHAR }, { "bookAbstract", Types.VARCHAR }, { "bookAuthorName", Types.VARCHAR }, { "bookOnlinePdf", Types.BOOLEAN }, { "bookPageCount", Types.INTEGER }, { "bookPublishDate", Types.TIMESTAMP } }; public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>(); static { TABLE_COLUMNS_MAP.put("uuid_", Types.VARCHAR); TABLE_COLUMNS_MAP.put("bookId", Types.BIGINT); TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT); TABLE_COLUMNS_MAP.put("groupId", Types.BIGINT); TABLE_COLUMNS_MAP.put("userId", Types.BIGINT); TABLE_COLUMNS_MAP.put("createDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("modifiedDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("bookName", Types.VARCHAR); TABLE_COLUMNS_MAP.put("bookAbstract", Types.VARCHAR); TABLE_COLUMNS_MAP.put("bookAuthorName", Types.VARCHAR); TABLE_COLUMNS_MAP.put("bookOnlinePdf", Types.BOOLEAN); TABLE_COLUMNS_MAP.put("bookPageCount", Types.INTEGER); TABLE_COLUMNS_MAP.put("bookPublishDate", Types.TIMESTAMP); } public static final String TABLE_SQL_CREATE = "create table BOOK_Book (uuid_ VARCHAR(75) null,bookId LONG not null primary key,companyId LONG,groupId LONG,userId LONG,createDate DATE null,modifiedDate DATE null,bookName VARCHAR(75) null,bookAbstract VARCHAR(75) null,bookAuthorName VARCHAR(75) null,bookOnlinePdf BOOLEAN,bookPageCount INTEGER,bookPublishDate DATE null)"; public static final String TABLE_SQL_DROP = "drop table BOOK_Book"; public static final String ORDER_BY_JPQL = " ORDER BY book.bookName ASC"; public static final String ORDER_BY_SQL = " ORDER BY BOOK_Book.bookName ASC"; public static final String DATA_SOURCE = "liferayDataSource"; public static final String SESSION_FACTORY = "liferaySessionFactory"; public static final String TX_MANAGER = "liferayTransactionManager"; public static final boolean ENTITY_CACHE_ENABLED = GetterUtil .getBoolean(com.liferay.bootcamp.service.util.PropsUtil .get("value.object.entity.cache.enabled.com.liferay.bootcamp.model.Book"), true); public static final boolean FINDER_CACHE_ENABLED = GetterUtil .getBoolean(com.liferay.bootcamp.service.util.PropsUtil .get("value.object.finder.cache.enabled.com.liferay.bootcamp.model.Book"), true); public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil .getBoolean(com.liferay.bootcamp.service.util.PropsUtil .get("value.object.column.bitmask.enabled.com.liferay.bootcamp.model.Book"), true); public static final long BOOKAUTHORNAME_COLUMN_BITMASK = 1L; public static final long BOOKONLINEPDF_COLUMN_BITMASK = 2L; public static final long COMPANYID_COLUMN_BITMASK = 4L; public static final long GROUPID_COLUMN_BITMASK = 8L; public static final long UUID_COLUMN_BITMASK = 16L; public static final long BOOKNAME_COLUMN_BITMASK = 32L; /** * Converts the soap model instance into a normal model instance. * * @param soapModel the soap model instance to convert * @return the normal model instance */ public static Book toModel(BookSoap soapModel) { if (soapModel == null) { return null; } Book model = new BookImpl(); model.setUuid(soapModel.getUuid()); model.setBookId(soapModel.getBookId()); model.setCompanyId(soapModel.getCompanyId()); model.setGroupId(soapModel.getGroupId()); model.setUserId(soapModel.getUserId()); model.setCreateDate(soapModel.getCreateDate()); model.setModifiedDate(soapModel.getModifiedDate()); model.setBookName(soapModel.getBookName()); model.setBookAbstract(soapModel.getBookAbstract()); model.setBookAuthorName(soapModel.getBookAuthorName()); model.setBookOnlinePdf(soapModel.getBookOnlinePdf()); model.setBookPageCount(soapModel.getBookPageCount()); model.setBookPublishDate(soapModel.getBookPublishDate()); return model; } /** * Converts the soap model instances into normal model instances. * * @param soapModels the soap model instances to convert * @return the normal model instances */ public static List<Book> toModels(BookSoap[] soapModels) { if (soapModels == null) { return null; } List<Book> models = new ArrayList<Book>(soapModels.length); for (BookSoap soapModel : soapModels) { models.add(toModel(soapModel)); } return models; } public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.bootcamp.service.util.PropsUtil .get("lock.expiration.time.com.liferay.bootcamp.model.Book")); public BookModelImpl() { } @Override public long getPrimaryKey() { return _bookId; } @Override public void setPrimaryKey(long primaryKey) { setBookId(primaryKey); } @Override public Serializable getPrimaryKeyObj() { return _bookId; } @Override public void setPrimaryKeyObj(Serializable primaryKeyObj) { setPrimaryKey(((Long) primaryKeyObj).longValue()); } @Override public Class<?> getModelClass() { return Book.class; } @Override public String getModelClassName() { return Book.class.getName(); } @Override public Map<String, Object> getModelAttributes() { Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put("uuid", getUuid()); attributes.put("bookId", getBookId()); attributes.put("companyId", getCompanyId()); attributes.put("groupId", getGroupId()); attributes.put("userId", getUserId()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); attributes.put("bookName", getBookName()); attributes.put("bookAbstract", getBookAbstract()); attributes.put("bookAuthorName", getBookAuthorName()); attributes.put("bookOnlinePdf", getBookOnlinePdf()); attributes.put("bookPageCount", getBookPageCount()); attributes.put("bookPublishDate", getBookPublishDate()); attributes.put("entityCacheEnabled", isEntityCacheEnabled()); attributes.put("finderCacheEnabled", isFinderCacheEnabled()); return attributes; } @Override public void setModelAttributes(Map<String, Object> attributes) { String uuid = (String) attributes.get("uuid"); if (uuid != null) { setUuid(uuid); } Long bookId = (Long) attributes.get("bookId"); if (bookId != null) { setBookId(bookId); } Long companyId = (Long) attributes.get("companyId"); if (companyId != null) { setCompanyId(companyId); } Long groupId = (Long) attributes.get("groupId"); if (groupId != null) { setGroupId(groupId); } Long userId = (Long) attributes.get("userId"); if (userId != null) { setUserId(userId); } Date createDate = (Date) attributes.get("createDate"); if (createDate != null) { setCreateDate(createDate); } Date modifiedDate = (Date) attributes.get("modifiedDate"); if (modifiedDate != null) { setModifiedDate(modifiedDate); } String bookName = (String) attributes.get("bookName"); if (bookName != null) { setBookName(bookName); } String bookAbstract = (String) attributes.get("bookAbstract"); if (bookAbstract != null) { setBookAbstract(bookAbstract); } String bookAuthorName = (String) attributes.get("bookAuthorName"); if (bookAuthorName != null) { setBookAuthorName(bookAuthorName); } Boolean bookOnlinePdf = (Boolean) attributes.get("bookOnlinePdf"); if (bookOnlinePdf != null) { setBookOnlinePdf(bookOnlinePdf); } Integer bookPageCount = (Integer) attributes.get("bookPageCount"); if (bookPageCount != null) { setBookPageCount(bookPageCount); } Date bookPublishDate = (Date) attributes.get("bookPublishDate"); if (bookPublishDate != null) { setBookPublishDate(bookPublishDate); } } @JSON @Override public String getUuid() { if (_uuid == null) { return StringPool.BLANK; } else { return _uuid; } } @Override public void setUuid(String uuid) { if (_originalUuid == null) { _originalUuid = _uuid; } _uuid = uuid; } public String getOriginalUuid() { return GetterUtil.getString(_originalUuid); } @JSON @Override public long getBookId() { return _bookId; } @Override public void setBookId(long bookId) { _bookId = bookId; } @JSON @Override public long getCompanyId() { return _companyId; } @Override public void setCompanyId(long companyId) { _columnBitmask |= COMPANYID_COLUMN_BITMASK; if (!_setOriginalCompanyId) { _setOriginalCompanyId = true; _originalCompanyId = _companyId; } _companyId = companyId; } public long getOriginalCompanyId() { return _originalCompanyId; } @JSON @Override public long getGroupId() { return _groupId; } @Override public void setGroupId(long groupId) { _columnBitmask |= GROUPID_COLUMN_BITMASK; if (!_setOriginalGroupId) { _setOriginalGroupId = true; _originalGroupId = _groupId; } _groupId = groupId; } public long getOriginalGroupId() { return _originalGroupId; } @JSON @Override public long getUserId() { return _userId; } @Override public void setUserId(long userId) { _userId = userId; } @Override public String getUserUuid() { try { User user = UserLocalServiceUtil.getUserById(getUserId()); return user.getUuid(); } catch (PortalException pe) { return StringPool.BLANK; } } @Override public void setUserUuid(String userUuid) { } @JSON @Override public Date getCreateDate() { return _createDate; } @Override public void setCreateDate(Date createDate) { _createDate = createDate; } @JSON @Override public Date getModifiedDate() { return _modifiedDate; } public boolean hasSetModifiedDate() { return _setModifiedDate; } @Override public void setModifiedDate(Date modifiedDate) { _setModifiedDate = true; _modifiedDate = modifiedDate; } @JSON @Override public String getBookName() { if (_bookName == null) { return StringPool.BLANK; } else { return _bookName; } } @Override public void setBookName(String bookName) { _columnBitmask = -1L; _bookName = bookName; } @JSON @Override public String getBookAbstract() { if (_bookAbstract == null) { return StringPool.BLANK; } else { return _bookAbstract; } } @Override public void setBookAbstract(String bookAbstract) { _bookAbstract = bookAbstract; } @JSON @Override public String getBookAuthorName() { if (_bookAuthorName == null) { return StringPool.BLANK; } else { return _bookAuthorName; } } @Override public void setBookAuthorName(String bookAuthorName) { _columnBitmask |= BOOKAUTHORNAME_COLUMN_BITMASK; if (_originalBookAuthorName == null) { _originalBookAuthorName = _bookAuthorName; } _bookAuthorName = bookAuthorName; } public String getOriginalBookAuthorName() { return GetterUtil.getString(_originalBookAuthorName); } @JSON @Override public boolean getBookOnlinePdf() { return _bookOnlinePdf; } @Override public boolean isBookOnlinePdf() { return _bookOnlinePdf; } @Override public void setBookOnlinePdf(boolean bookOnlinePdf) { _columnBitmask |= BOOKONLINEPDF_COLUMN_BITMASK; if (!_setOriginalBookOnlinePdf) { _setOriginalBookOnlinePdf = true; _originalBookOnlinePdf = _bookOnlinePdf; } _bookOnlinePdf = bookOnlinePdf; } public boolean getOriginalBookOnlinePdf() { return _originalBookOnlinePdf; } @JSON @Override public int getBookPageCount() { return _bookPageCount; } @Override public void setBookPageCount(int bookPageCount) { _bookPageCount = bookPageCount; } @JSON @Override public Date getBookPublishDate() { return _bookPublishDate; } @Override public void setBookPublishDate(Date bookPublishDate) { _bookPublishDate = bookPublishDate; } @Override public StagedModelType getStagedModelType() { return new StagedModelType(PortalUtil.getClassNameId(Book.class.getName())); } public long getColumnBitmask() { return _columnBitmask; } @Override public ExpandoBridge getExpandoBridge() { return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(), Book.class.getName(), getPrimaryKey()); } @Override public void setExpandoBridgeAttributes(ServiceContext serviceContext) { ExpandoBridge expandoBridge = getExpandoBridge(); expandoBridge.setAttributes(serviceContext); } @Override public Book toEscapedModel() { if (_escapedModel == null) { _escapedModel = (Book) ProxyUtil.newProxyInstance(_classLoader, _escapedModelInterfaces, new AutoEscapeBeanHandler(this)); } return _escapedModel; } @Override public Object clone() { BookImpl bookImpl = new BookImpl(); bookImpl.setUuid(getUuid()); bookImpl.setBookId(getBookId()); bookImpl.setCompanyId(getCompanyId()); bookImpl.setGroupId(getGroupId()); bookImpl.setUserId(getUserId()); bookImpl.setCreateDate(getCreateDate()); bookImpl.setModifiedDate(getModifiedDate()); bookImpl.setBookName(getBookName()); bookImpl.setBookAbstract(getBookAbstract()); bookImpl.setBookAuthorName(getBookAuthorName()); bookImpl.setBookOnlinePdf(getBookOnlinePdf()); bookImpl.setBookPageCount(getBookPageCount()); bookImpl.setBookPublishDate(getBookPublishDate()); bookImpl.resetOriginalValues(); return bookImpl; } @Override public int compareTo(Book book) { int value = 0; value = getBookName().compareTo(book.getBookName()); if (value != 0) { return value; } return 0; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof Book)) { return false; } Book book = (Book) obj; long primaryKey = book.getPrimaryKey(); if (getPrimaryKey() == primaryKey) { return true; } else { return false; } } @Override public int hashCode() { return (int) getPrimaryKey(); } @Override public boolean isEntityCacheEnabled() { return ENTITY_CACHE_ENABLED; } @Override public boolean isFinderCacheEnabled() { return FINDER_CACHE_ENABLED; } @Override public void resetOriginalValues() { BookModelImpl bookModelImpl = this; bookModelImpl._originalUuid = bookModelImpl._uuid; bookModelImpl._originalCompanyId = bookModelImpl._companyId; bookModelImpl._setOriginalCompanyId = false; bookModelImpl._originalGroupId = bookModelImpl._groupId; bookModelImpl._setOriginalGroupId = false; bookModelImpl._setModifiedDate = false; bookModelImpl._originalBookAuthorName = bookModelImpl._bookAuthorName; bookModelImpl._originalBookOnlinePdf = bookModelImpl._bookOnlinePdf; bookModelImpl._setOriginalBookOnlinePdf = false; bookModelImpl._columnBitmask = 0; } @Override public CacheModel<Book> toCacheModel() { BookCacheModel bookCacheModel = new BookCacheModel(); bookCacheModel.uuid = getUuid(); String uuid = bookCacheModel.uuid; if ((uuid != null) && (uuid.length() == 0)) { bookCacheModel.uuid = null; } bookCacheModel.bookId = getBookId(); bookCacheModel.companyId = getCompanyId(); bookCacheModel.groupId = getGroupId(); bookCacheModel.userId = getUserId(); Date createDate = getCreateDate(); if (createDate != null) { bookCacheModel.createDate = createDate.getTime(); } else { bookCacheModel.createDate = Long.MIN_VALUE; } Date modifiedDate = getModifiedDate(); if (modifiedDate != null) { bookCacheModel.modifiedDate = modifiedDate.getTime(); } else { bookCacheModel.modifiedDate = Long.MIN_VALUE; } bookCacheModel.bookName = getBookName(); String bookName = bookCacheModel.bookName; if ((bookName != null) && (bookName.length() == 0)) { bookCacheModel.bookName = null; } bookCacheModel.bookAbstract = getBookAbstract(); String bookAbstract = bookCacheModel.bookAbstract; if ((bookAbstract != null) && (bookAbstract.length() == 0)) { bookCacheModel.bookAbstract = null; } bookCacheModel.bookAuthorName = getBookAuthorName(); String bookAuthorName = bookCacheModel.bookAuthorName; if ((bookAuthorName != null) && (bookAuthorName.length() == 0)) { bookCacheModel.bookAuthorName = null; } bookCacheModel.bookOnlinePdf = getBookOnlinePdf(); bookCacheModel.bookPageCount = getBookPageCount(); Date bookPublishDate = getBookPublishDate(); if (bookPublishDate != null) { bookCacheModel.bookPublishDate = bookPublishDate.getTime(); } else { bookCacheModel.bookPublishDate = Long.MIN_VALUE; } return bookCacheModel; } @Override public String toString() { StringBundler sb = new StringBundler(27); sb.append("{uuid="); sb.append(getUuid()); sb.append(", bookId="); sb.append(getBookId()); sb.append(", companyId="); sb.append(getCompanyId()); sb.append(", groupId="); sb.append(getGroupId()); sb.append(", userId="); sb.append(getUserId()); sb.append(", createDate="); sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); sb.append(", bookName="); sb.append(getBookName()); sb.append(", bookAbstract="); sb.append(getBookAbstract()); sb.append(", bookAuthorName="); sb.append(getBookAuthorName()); sb.append(", bookOnlinePdf="); sb.append(getBookOnlinePdf()); sb.append(", bookPageCount="); sb.append(getBookPageCount()); sb.append(", bookPublishDate="); sb.append(getBookPublishDate()); sb.append("}"); return sb.toString(); } @Override public String toXmlString() { StringBundler sb = new StringBundler(43); sb.append("<model><model-name>"); sb.append("com.liferay.bootcamp.model.Book"); sb.append("</model-name>"); sb.append("<column><column-name>uuid</column-name><column-value><![CDATA["); sb.append(getUuid()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookId</column-name><column-value><![CDATA["); sb.append(getBookId()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>companyId</column-name><column-value><![CDATA["); sb.append(getCompanyId()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>groupId</column-name><column-value><![CDATA["); sb.append(getGroupId()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>userId</column-name><column-value><![CDATA["); sb.append(getUserId()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>createDate</column-name><column-value><![CDATA["); sb.append(getCreateDate()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>modifiedDate</column-name><column-value><![CDATA["); sb.append(getModifiedDate()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookName</column-name><column-value><![CDATA["); sb.append(getBookName()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookAbstract</column-name><column-value><![CDATA["); sb.append(getBookAbstract()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookAuthorName</column-name><column-value><![CDATA["); sb.append(getBookAuthorName()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookOnlinePdf</column-name><column-value><![CDATA["); sb.append(getBookOnlinePdf()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookPageCount</column-name><column-value><![CDATA["); sb.append(getBookPageCount()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>bookPublishDate</column-name><column-value><![CDATA["); sb.append(getBookPublishDate()); sb.append("]]></column-value></column>"); sb.append("</model>"); return sb.toString(); } private static final ClassLoader _classLoader = Book.class.getClassLoader(); private static final Class<?>[] _escapedModelInterfaces = new Class[] { Book.class }; private String _uuid; private String _originalUuid; private long _bookId; private long _companyId; private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _groupId; private long _originalGroupId; private boolean _setOriginalGroupId; private long _userId; private Date _createDate; private Date _modifiedDate; private boolean _setModifiedDate; private String _bookName; private String _bookAbstract; private String _bookAuthorName; private String _originalBookAuthorName; private boolean _bookOnlinePdf; private boolean _originalBookOnlinePdf; private boolean _setOriginalBookOnlinePdf; private int _bookPageCount; private Date _bookPublishDate; private long _columnBitmask; private Book _escapedModel; }