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.gs.hack.model.impl; import aQute.bnd.annotation.ProviderType; import com.liferay.expando.kernel.model.ExpandoBridge; import com.liferay.expando.kernel.util.ExpandoBridgeFactoryUtil; import com.liferay.exportimport.kernel.lar.StagedModelType; import com.liferay.gs.hack.model.Project; import com.liferay.gs.hack.model.ProjectModel; import com.liferay.gs.hack.model.ProjectSoap; 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.DateUtil; 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 Project service. Represents a row in the "GS_Project" database table, with each column mapped to a property of this class. * * <p> * This implementation and its corresponding interface {@link ProjectModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link ProjectImpl}. * </p> * * @author Brian Wing Shun Chan * @see ProjectImpl * @see Project * @see ProjectModel * @generated */ @JSON(strict = true) @ProviderType public class ProjectModelImpl extends BaseModelImpl<Project> implements ProjectModel { /* * NOTE FOR DEVELOPERS: * * Never modify or reference this class directly. All methods that expect a project model instance should use the {@link Project} interface instead. */ public static final String TABLE_NAME = "GS_Project"; public static final Object[][] TABLE_COLUMNS = { { "uuid_", Types.VARCHAR }, { "projectId", Types.BIGINT }, { "groupId", Types.BIGINT }, { "companyId", Types.BIGINT }, { "userId", Types.BIGINT }, { "userName", Types.VARCHAR }, { "createDate", Types.TIMESTAMP }, { "modifiedDate", Types.TIMESTAMP }, { "clientId", Types.BIGINT }, { "name", Types.VARCHAR }, { "startDate", Types.TIMESTAMP }, { "endDate", Types.TIMESTAMP }, { "active_", Types.BOOLEAN } }; 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("projectId", Types.BIGINT); TABLE_COLUMNS_MAP.put("groupId", Types.BIGINT); TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT); TABLE_COLUMNS_MAP.put("userId", Types.BIGINT); TABLE_COLUMNS_MAP.put("userName", Types.VARCHAR); TABLE_COLUMNS_MAP.put("createDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("modifiedDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("clientId", Types.BIGINT); TABLE_COLUMNS_MAP.put("name", Types.VARCHAR); TABLE_COLUMNS_MAP.put("startDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("endDate", Types.TIMESTAMP); TABLE_COLUMNS_MAP.put("active_", Types.BOOLEAN); } public static final String TABLE_SQL_CREATE = "create table GS_Project (uuid_ VARCHAR(75) null,projectId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,clientId LONG,name VARCHAR(75) null,startDate DATE null,endDate DATE null,active_ BOOLEAN)"; public static final String TABLE_SQL_DROP = "drop table GS_Project"; public static final String ORDER_BY_JPQL = " ORDER BY project.startDate ASC"; public static final String ORDER_BY_SQL = " ORDER BY GS_Project.startDate 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.gs.hack.service.util.PropsUtil .get("value.object.entity.cache.enabled.com.liferay.gs.hack.model.Project"), true); public static final boolean FINDER_CACHE_ENABLED = GetterUtil .getBoolean(com.liferay.gs.hack.service.util.PropsUtil .get("value.object.finder.cache.enabled.com.liferay.gs.hack.model.Project"), true); public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil .getBoolean(com.liferay.gs.hack.service.util.PropsUtil .get("value.object.column.bitmask.enabled.com.liferay.gs.hack.model.Project"), true); public static final long ACTIVE_COLUMN_BITMASK = 1L; public static final long CLIENTID_COLUMN_BITMASK = 2L; public static final long COMPANYID_COLUMN_BITMASK = 4L; public static final long GROUPID_COLUMN_BITMASK = 8L; public static final long NAME_COLUMN_BITMASK = 16L; public static final long UUID_COLUMN_BITMASK = 32L; public static final long STARTDATE_COLUMN_BITMASK = 64L; /** * 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 Project toModel(ProjectSoap soapModel) { if (soapModel == null) { return null; } Project model = new ProjectImpl(); model.setUuid(soapModel.getUuid()); model.setProjectId(soapModel.getProjectId()); model.setGroupId(soapModel.getGroupId()); model.setCompanyId(soapModel.getCompanyId()); model.setUserId(soapModel.getUserId()); model.setUserName(soapModel.getUserName()); model.setCreateDate(soapModel.getCreateDate()); model.setModifiedDate(soapModel.getModifiedDate()); model.setClientId(soapModel.getClientId()); model.setName(soapModel.getName()); model.setStartDate(soapModel.getStartDate()); model.setEndDate(soapModel.getEndDate()); model.setActive(soapModel.getActive()); 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<Project> toModels(ProjectSoap[] soapModels) { if (soapModels == null) { return null; } List<Project> models = new ArrayList<Project>(soapModels.length); for (ProjectSoap soapModel : soapModels) { models.add(toModel(soapModel)); } return models; } public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.gs.hack.service.util.PropsUtil .get("lock.expiration.time.com.liferay.gs.hack.model.Project")); public ProjectModelImpl() { } @Override public long getPrimaryKey() { return _projectId; } @Override public void setPrimaryKey(long primaryKey) { setProjectId(primaryKey); } @Override public Serializable getPrimaryKeyObj() { return _projectId; } @Override public void setPrimaryKeyObj(Serializable primaryKeyObj) { setPrimaryKey(((Long) primaryKeyObj).longValue()); } @Override public Class<?> getModelClass() { return Project.class; } @Override public String getModelClassName() { return Project.class.getName(); } @Override public Map<String, Object> getModelAttributes() { Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put("uuid", getUuid()); attributes.put("projectId", getProjectId()); attributes.put("groupId", getGroupId()); attributes.put("companyId", getCompanyId()); attributes.put("userId", getUserId()); attributes.put("userName", getUserName()); attributes.put("createDate", getCreateDate()); attributes.put("modifiedDate", getModifiedDate()); attributes.put("clientId", getClientId()); attributes.put("name", getName()); attributes.put("startDate", getStartDate()); attributes.put("endDate", getEndDate()); attributes.put("active", getActive()); 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 projectId = (Long) attributes.get("projectId"); if (projectId != null) { setProjectId(projectId); } Long groupId = (Long) attributes.get("groupId"); if (groupId != null) { setGroupId(groupId); } Long companyId = (Long) attributes.get("companyId"); if (companyId != null) { setCompanyId(companyId); } Long userId = (Long) attributes.get("userId"); if (userId != null) { setUserId(userId); } String userName = (String) attributes.get("userName"); if (userName != null) { setUserName(userName); } Date createDate = (Date) attributes.get("createDate"); if (createDate != null) { setCreateDate(createDate); } Date modifiedDate = (Date) attributes.get("modifiedDate"); if (modifiedDate != null) { setModifiedDate(modifiedDate); } Long clientId = (Long) attributes.get("clientId"); if (clientId != null) { setClientId(clientId); } String name = (String) attributes.get("name"); if (name != null) { setName(name); } Date startDate = (Date) attributes.get("startDate"); if (startDate != null) { setStartDate(startDate); } Date endDate = (Date) attributes.get("endDate"); if (endDate != null) { setEndDate(endDate); } Boolean active = (Boolean) attributes.get("active"); if (active != null) { setActive(active); } } @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 getProjectId() { return _projectId; } @Override public void setProjectId(long projectId) { _projectId = projectId; } @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 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 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 String getUserName() { if (_userName == null) { return StringPool.BLANK; } else { return _userName; } } @Override public void setUserName(String userName) { _userName = userName; } @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 long getClientId() { return _clientId; } @Override public void setClientId(long clientId) { _columnBitmask |= CLIENTID_COLUMN_BITMASK; if (!_setOriginalClientId) { _setOriginalClientId = true; _originalClientId = _clientId; } _clientId = clientId; } public long getOriginalClientId() { return _originalClientId; } @JSON @Override public String getName() { if (_name == null) { return StringPool.BLANK; } else { return _name; } } @Override public void setName(String name) { _columnBitmask |= NAME_COLUMN_BITMASK; if (_originalName == null) { _originalName = _name; } _name = name; } public String getOriginalName() { return GetterUtil.getString(_originalName); } @JSON @Override public Date getStartDate() { return _startDate; } @Override public void setStartDate(Date startDate) { _columnBitmask = -1L; _startDate = startDate; } @JSON @Override public Date getEndDate() { return _endDate; } @Override public void setEndDate(Date endDate) { _endDate = endDate; } @JSON @Override public boolean getActive() { return _active; } @JSON @Override public boolean isActive() { return _active; } @Override public void setActive(boolean active) { _columnBitmask |= ACTIVE_COLUMN_BITMASK; if (!_setOriginalActive) { _setOriginalActive = true; _originalActive = _active; } _active = active; } public boolean getOriginalActive() { return _originalActive; } @Override public StagedModelType getStagedModelType() { return new StagedModelType(PortalUtil.getClassNameId(Project.class.getName())); } public long getColumnBitmask() { return _columnBitmask; } @Override public ExpandoBridge getExpandoBridge() { return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(), Project.class.getName(), getPrimaryKey()); } @Override public void setExpandoBridgeAttributes(ServiceContext serviceContext) { ExpandoBridge expandoBridge = getExpandoBridge(); expandoBridge.setAttributes(serviceContext); } @Override public Project toEscapedModel() { if (_escapedModel == null) { _escapedModel = (Project) ProxyUtil.newProxyInstance(_classLoader, _escapedModelInterfaces, new AutoEscapeBeanHandler(this)); } return _escapedModel; } @Override public Object clone() { ProjectImpl projectImpl = new ProjectImpl(); projectImpl.setUuid(getUuid()); projectImpl.setProjectId(getProjectId()); projectImpl.setGroupId(getGroupId()); projectImpl.setCompanyId(getCompanyId()); projectImpl.setUserId(getUserId()); projectImpl.setUserName(getUserName()); projectImpl.setCreateDate(getCreateDate()); projectImpl.setModifiedDate(getModifiedDate()); projectImpl.setClientId(getClientId()); projectImpl.setName(getName()); projectImpl.setStartDate(getStartDate()); projectImpl.setEndDate(getEndDate()); projectImpl.setActive(getActive()); projectImpl.resetOriginalValues(); return projectImpl; } @Override public int compareTo(Project project) { int value = 0; value = DateUtil.compareTo(getStartDate(), project.getStartDate()); if (value != 0) { return value; } return 0; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof Project)) { return false; } Project project = (Project) obj; long primaryKey = project.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() { ProjectModelImpl projectModelImpl = this; projectModelImpl._originalUuid = projectModelImpl._uuid; projectModelImpl._originalGroupId = projectModelImpl._groupId; projectModelImpl._setOriginalGroupId = false; projectModelImpl._originalCompanyId = projectModelImpl._companyId; projectModelImpl._setOriginalCompanyId = false; projectModelImpl._setModifiedDate = false; projectModelImpl._originalClientId = projectModelImpl._clientId; projectModelImpl._setOriginalClientId = false; projectModelImpl._originalName = projectModelImpl._name; projectModelImpl._originalActive = projectModelImpl._active; projectModelImpl._setOriginalActive = false; projectModelImpl._columnBitmask = 0; } @Override public CacheModel<Project> toCacheModel() { ProjectCacheModel projectCacheModel = new ProjectCacheModel(); projectCacheModel.uuid = getUuid(); String uuid = projectCacheModel.uuid; if ((uuid != null) && (uuid.length() == 0)) { projectCacheModel.uuid = null; } projectCacheModel.projectId = getProjectId(); projectCacheModel.groupId = getGroupId(); projectCacheModel.companyId = getCompanyId(); projectCacheModel.userId = getUserId(); projectCacheModel.userName = getUserName(); String userName = projectCacheModel.userName; if ((userName != null) && (userName.length() == 0)) { projectCacheModel.userName = null; } Date createDate = getCreateDate(); if (createDate != null) { projectCacheModel.createDate = createDate.getTime(); } else { projectCacheModel.createDate = Long.MIN_VALUE; } Date modifiedDate = getModifiedDate(); if (modifiedDate != null) { projectCacheModel.modifiedDate = modifiedDate.getTime(); } else { projectCacheModel.modifiedDate = Long.MIN_VALUE; } projectCacheModel.clientId = getClientId(); projectCacheModel.name = getName(); String name = projectCacheModel.name; if ((name != null) && (name.length() == 0)) { projectCacheModel.name = null; } Date startDate = getStartDate(); if (startDate != null) { projectCacheModel.startDate = startDate.getTime(); } else { projectCacheModel.startDate = Long.MIN_VALUE; } Date endDate = getEndDate(); if (endDate != null) { projectCacheModel.endDate = endDate.getTime(); } else { projectCacheModel.endDate = Long.MIN_VALUE; } projectCacheModel.active = getActive(); return projectCacheModel; } @Override public String toString() { StringBundler sb = new StringBundler(27); sb.append("{uuid="); sb.append(getUuid()); sb.append(", projectId="); sb.append(getProjectId()); sb.append(", groupId="); sb.append(getGroupId()); sb.append(", companyId="); sb.append(getCompanyId()); sb.append(", userId="); sb.append(getUserId()); sb.append(", userName="); sb.append(getUserName()); sb.append(", createDate="); sb.append(getCreateDate()); sb.append(", modifiedDate="); sb.append(getModifiedDate()); sb.append(", clientId="); sb.append(getClientId()); sb.append(", name="); sb.append(getName()); sb.append(", startDate="); sb.append(getStartDate()); sb.append(", endDate="); sb.append(getEndDate()); sb.append(", active="); sb.append(getActive()); sb.append("}"); return sb.toString(); } @Override public String toXmlString() { StringBundler sb = new StringBundler(43); sb.append("<model><model-name>"); sb.append("com.liferay.gs.hack.model.Project"); 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>projectId</column-name><column-value><![CDATA["); sb.append(getProjectId()); 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>companyId</column-name><column-value><![CDATA["); sb.append(getCompanyId()); 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>userName</column-name><column-value><![CDATA["); sb.append(getUserName()); 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>clientId</column-name><column-value><![CDATA["); sb.append(getClientId()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>name</column-name><column-value><![CDATA["); sb.append(getName()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>startDate</column-name><column-value><![CDATA["); sb.append(getStartDate()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>endDate</column-name><column-value><![CDATA["); sb.append(getEndDate()); sb.append("]]></column-value></column>"); sb.append("<column><column-name>active</column-name><column-value><![CDATA["); sb.append(getActive()); sb.append("]]></column-value></column>"); sb.append("</model>"); return sb.toString(); } private static final ClassLoader _classLoader = Project.class.getClassLoader(); private static final Class<?>[] _escapedModelInterfaces = new Class[] { Project.class }; private String _uuid; private String _originalUuid; private long _projectId; private long _groupId; private long _originalGroupId; private boolean _setOriginalGroupId; private long _companyId; private long _originalCompanyId; private boolean _setOriginalCompanyId; private long _userId; private String _userName; private Date _createDate; private Date _modifiedDate; private boolean _setModifiedDate; private long _clientId; private long _originalClientId; private boolean _setOriginalClientId; private String _name; private String _originalName; private Date _startDate; private Date _endDate; private boolean _active; private boolean _originalActive; private boolean _setOriginalActive; private long _columnBitmask; private Project _escapedModel; }