/**
* 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.knowledgebase.model;
import com.liferay.knowledgebase.service.ClpSerializer;
import com.liferay.knowledgebase.service.KBCommentLocalServiceUtil;
import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.lar.StagedModelType;
import com.liferay.portal.kernel.util.DateUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.kernel.util.StringPool;
import com.liferay.portal.kernel.util.Validator;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;
import com.liferay.portal.util.PortalUtil;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
/**
* @author Brian Wing Shun Chan
*/
public class KBCommentClp extends BaseModelImpl<KBComment> implements KBComment {
public KBCommentClp() {
}
@Override
public Class<?> getModelClass() {
return KBComment.class;
}
@Override
public String getModelClassName() {
return KBComment.class.getName();
}
@Override
public long getPrimaryKey() {
return _kbCommentId;
}
@Override
public void setPrimaryKey(long primaryKey) {
setKbCommentId(primaryKey);
}
@Override
public Serializable getPrimaryKeyObj() {
return _kbCommentId;
}
@Override
public void setPrimaryKeyObj(Serializable primaryKeyObj) {
setPrimaryKey(((Long)primaryKeyObj).longValue());
}
@Override
public Map<String, Object> getModelAttributes() {
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("uuid", getUuid());
attributes.put("kbCommentId", getKbCommentId());
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("classNameId", getClassNameId());
attributes.put("classPK", getClassPK());
attributes.put("content", getContent());
attributes.put("userRating", getUserRating());
attributes.put("status", getStatus());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
String uuid = (String)attributes.get("uuid");
if (uuid != null) {
setUuid(uuid);
}
Long kbCommentId = (Long)attributes.get("kbCommentId");
if (kbCommentId != null) {
setKbCommentId(kbCommentId);
}
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 classNameId = (Long)attributes.get("classNameId");
if (classNameId != null) {
setClassNameId(classNameId);
}
Long classPK = (Long)attributes.get("classPK");
if (classPK != null) {
setClassPK(classPK);
}
String content = (String)attributes.get("content");
if (content != null) {
setContent(content);
}
Integer userRating = (Integer)attributes.get("userRating");
if (userRating != null) {
setUserRating(userRating);
}
Integer status = (Integer)attributes.get("status");
if (status != null) {
setStatus(status);
}
}
@Override
public String getUuid() {
return _uuid;
}
@Override
public void setUuid(String uuid) {
_uuid = uuid;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setUuid", String.class);
method.invoke(_kbCommentRemoteModel, uuid);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getKbCommentId() {
return _kbCommentId;
}
@Override
public void setKbCommentId(long kbCommentId) {
_kbCommentId = kbCommentId;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setKbCommentId", long.class);
method.invoke(_kbCommentRemoteModel, kbCommentId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getGroupId() {
return _groupId;
}
@Override
public void setGroupId(long groupId) {
_groupId = groupId;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setGroupId", long.class);
method.invoke(_kbCommentRemoteModel, groupId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getCompanyId() {
return _companyId;
}
@Override
public void setCompanyId(long companyId) {
_companyId = companyId;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setCompanyId", long.class);
method.invoke(_kbCommentRemoteModel, companyId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getUserId() {
return _userId;
}
@Override
public void setUserId(long userId) {
_userId = userId;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setUserId", long.class);
method.invoke(_kbCommentRemoteModel, userId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getUserUuid() throws SystemException {
return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
}
@Override
public void setUserUuid(String userUuid) {
_userUuid = userUuid;
}
@Override
public String getUserName() {
return _userName;
}
@Override
public void setUserName(String userName) {
_userName = userName;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setUserName", String.class);
method.invoke(_kbCommentRemoteModel, userName);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public Date getCreateDate() {
return _createDate;
}
@Override
public void setCreateDate(Date createDate) {
_createDate = createDate;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setCreateDate", Date.class);
method.invoke(_kbCommentRemoteModel, createDate);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public Date getModifiedDate() {
return _modifiedDate;
}
@Override
public void setModifiedDate(Date modifiedDate) {
_modifiedDate = modifiedDate;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setModifiedDate", Date.class);
method.invoke(_kbCommentRemoteModel, modifiedDate);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getClassName() {
if (getClassNameId() <= 0) {
return StringPool.BLANK;
}
return PortalUtil.getClassName(getClassNameId());
}
@Override
public void setClassName(String className) {
long classNameId = 0;
if (Validator.isNotNull(className)) {
classNameId = PortalUtil.getClassNameId(className);
}
setClassNameId(classNameId);
}
@Override
public long getClassNameId() {
return _classNameId;
}
@Override
public void setClassNameId(long classNameId) {
_classNameId = classNameId;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setClassNameId", long.class);
method.invoke(_kbCommentRemoteModel, classNameId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getClassPK() {
return _classPK;
}
@Override
public void setClassPK(long classPK) {
_classPK = classPK;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setClassPK", long.class);
method.invoke(_kbCommentRemoteModel, classPK);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getContent() {
return _content;
}
@Override
public void setContent(String content) {
_content = content;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setContent", String.class);
method.invoke(_kbCommentRemoteModel, content);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public int getUserRating() {
return _userRating;
}
@Override
public void setUserRating(int userRating) {
_userRating = userRating;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setUserRating", int.class);
method.invoke(_kbCommentRemoteModel, userRating);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public int getStatus() {
return _status;
}
@Override
public void setStatus(int status) {
_status = status;
if (_kbCommentRemoteModel != null) {
try {
Class<?> clazz = _kbCommentRemoteModel.getClass();
Method method = clazz.getMethod("setStatus", int.class);
method.invoke(_kbCommentRemoteModel, status);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public StagedModelType getStagedModelType() {
return new StagedModelType(PortalUtil.getClassNameId(
KBComment.class.getName()), getClassNameId());
}
public BaseModel<?> getKBCommentRemoteModel() {
return _kbCommentRemoteModel;
}
public void setKBCommentRemoteModel(BaseModel<?> kbCommentRemoteModel) {
_kbCommentRemoteModel = kbCommentRemoteModel;
}
public Object invokeOnRemoteModel(String methodName,
Class<?>[] parameterTypes, Object[] parameterValues)
throws Exception {
Object[] remoteParameterValues = new Object[parameterValues.length];
for (int i = 0; i < parameterValues.length; i++) {
if (parameterValues[i] != null) {
remoteParameterValues[i] = ClpSerializer.translateInput(parameterValues[i]);
}
}
Class<?> remoteModelClass = _kbCommentRemoteModel.getClass();
ClassLoader remoteModelClassLoader = remoteModelClass.getClassLoader();
Class<?>[] remoteParameterTypes = new Class[parameterTypes.length];
for (int i = 0; i < parameterTypes.length; i++) {
if (parameterTypes[i].isPrimitive()) {
remoteParameterTypes[i] = parameterTypes[i];
}
else {
String parameterTypeName = parameterTypes[i].getName();
remoteParameterTypes[i] = remoteModelClassLoader.loadClass(parameterTypeName);
}
}
Method method = remoteModelClass.getMethod(methodName,
remoteParameterTypes);
Object returnValue = method.invoke(_kbCommentRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() throws SystemException {
if (this.isNew()) {
KBCommentLocalServiceUtil.addKBComment(this);
}
else {
KBCommentLocalServiceUtil.updateKBComment(this);
}
}
@Override
public KBComment toEscapedModel() {
return (KBComment)ProxyUtil.newProxyInstance(KBComment.class.getClassLoader(),
new Class[] { KBComment.class }, new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
KBCommentClp clone = new KBCommentClp();
clone.setUuid(getUuid());
clone.setKbCommentId(getKbCommentId());
clone.setGroupId(getGroupId());
clone.setCompanyId(getCompanyId());
clone.setUserId(getUserId());
clone.setUserName(getUserName());
clone.setCreateDate(getCreateDate());
clone.setModifiedDate(getModifiedDate());
clone.setClassNameId(getClassNameId());
clone.setClassPK(getClassPK());
clone.setContent(getContent());
clone.setUserRating(getUserRating());
clone.setStatus(getStatus());
return clone;
}
@Override
public int compareTo(KBComment kbComment) {
int value = 0;
value = DateUtil.compareTo(getModifiedDate(),
kbComment.getModifiedDate());
value = value * -1;
if (value != 0) {
return value;
}
return 0;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof KBCommentClp)) {
return false;
}
KBCommentClp kbComment = (KBCommentClp)obj;
long primaryKey = kbComment.getPrimaryKey();
if (getPrimaryKey() == primaryKey) {
return true;
}
else {
return false;
}
}
public Class<?> getClpSerializerClass() {
return _clpSerializerClass;
}
@Override
public int hashCode() {
return (int)getPrimaryKey();
}
@Override
public String toString() {
StringBundler sb = new StringBundler(27);
sb.append("{uuid=");
sb.append(getUuid());
sb.append(", kbCommentId=");
sb.append(getKbCommentId());
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(", classNameId=");
sb.append(getClassNameId());
sb.append(", classPK=");
sb.append(getClassPK());
sb.append(", content=");
sb.append(getContent());
sb.append(", userRating=");
sb.append(getUserRating());
sb.append(", status=");
sb.append(getStatus());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(43);
sb.append("<model><model-name>");
sb.append("com.liferay.knowledgebase.model.KBComment");
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>kbCommentId</column-name><column-value><![CDATA[");
sb.append(getKbCommentId());
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>classNameId</column-name><column-value><![CDATA[");
sb.append(getClassNameId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>classPK</column-name><column-value><![CDATA[");
sb.append(getClassPK());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>content</column-name><column-value><![CDATA[");
sb.append(getContent());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>userRating</column-name><column-value><![CDATA[");
sb.append(getUserRating());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>status</column-name><column-value><![CDATA[");
sb.append(getStatus());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private String _uuid;
private long _kbCommentId;
private long _groupId;
private long _companyId;
private long _userId;
private String _userUuid;
private String _userName;
private Date _createDate;
private Date _modifiedDate;
private long _classNameId;
private long _classPK;
private String _content;
private int _userRating;
private int _status;
private BaseModel<?> _kbCommentRemoteModel;
private Class<?> _clpSerializerClass = com.liferay.knowledgebase.service.ClpSerializer.class;
}