/**
* 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 org.oep.dossiermgt.model;
import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.portal.model.BaseModel;
import com.liferay.portal.model.impl.BaseModelImpl;
import org.oep.dossiermgt.service.ClpSerializer;
import org.oep.dossiermgt.service.DossierFolder2RoleLocalServiceUtil;
import org.oep.dossiermgt.service.persistence.DossierFolder2RolePK;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* @author trungdk
*/
public class DossierFolder2RoleClp extends BaseModelImpl<DossierFolder2Role>
implements DossierFolder2Role {
public DossierFolder2RoleClp() {
}
@Override
public Class<?> getModelClass() {
return DossierFolder2Role.class;
}
@Override
public String getModelClassName() {
return DossierFolder2Role.class.getName();
}
@Override
public DossierFolder2RolePK getPrimaryKey() {
return new DossierFolder2RolePK(_dossierFolderId, _roleId);
}
@Override
public void setPrimaryKey(DossierFolder2RolePK primaryKey) {
setDossierFolderId(primaryKey.dossierFolderId);
setRoleId(primaryKey.roleId);
}
@Override
public Serializable getPrimaryKeyObj() {
return new DossierFolder2RolePK(_dossierFolderId, _roleId);
}
@Override
public void setPrimaryKeyObj(Serializable primaryKeyObj) {
setPrimaryKey((DossierFolder2RolePK)primaryKeyObj);
}
@Override
public Map<String, Object> getModelAttributes() {
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put("dossierFolderId", getDossierFolderId());
attributes.put("roleId", getRoleId());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
Long dossierFolderId = (Long)attributes.get("dossierFolderId");
if (dossierFolderId != null) {
setDossierFolderId(dossierFolderId);
}
Long roleId = (Long)attributes.get("roleId");
if (roleId != null) {
setRoleId(roleId);
}
}
@Override
public long getDossierFolderId() {
return _dossierFolderId;
}
@Override
public void setDossierFolderId(long dossierFolderId) {
_dossierFolderId = dossierFolderId;
if (_dossierFolder2RoleRemoteModel != null) {
try {
Class<?> clazz = _dossierFolder2RoleRemoteModel.getClass();
Method method = clazz.getMethod("setDossierFolderId", long.class);
method.invoke(_dossierFolder2RoleRemoteModel, dossierFolderId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getRoleId() {
return _roleId;
}
@Override
public void setRoleId(long roleId) {
_roleId = roleId;
if (_dossierFolder2RoleRemoteModel != null) {
try {
Class<?> clazz = _dossierFolder2RoleRemoteModel.getClass();
Method method = clazz.getMethod("setRoleId", long.class);
method.invoke(_dossierFolder2RoleRemoteModel, roleId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
public BaseModel<?> getDossierFolder2RoleRemoteModel() {
return _dossierFolder2RoleRemoteModel;
}
public void setDossierFolder2RoleRemoteModel(
BaseModel<?> dossierFolder2RoleRemoteModel) {
_dossierFolder2RoleRemoteModel = dossierFolder2RoleRemoteModel;
}
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 = _dossierFolder2RoleRemoteModel.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(_dossierFolder2RoleRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() throws SystemException {
if (this.isNew()) {
DossierFolder2RoleLocalServiceUtil.addDossierFolder2Role(this);
}
else {
DossierFolder2RoleLocalServiceUtil.updateDossierFolder2Role(this);
}
}
@Override
public DossierFolder2Role toEscapedModel() {
return (DossierFolder2Role)ProxyUtil.newProxyInstance(DossierFolder2Role.class.getClassLoader(),
new Class[] { DossierFolder2Role.class },
new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
DossierFolder2RoleClp clone = new DossierFolder2RoleClp();
clone.setDossierFolderId(getDossierFolderId());
clone.setRoleId(getRoleId());
return clone;
}
@Override
public int compareTo(DossierFolder2Role dossierFolder2Role) {
DossierFolder2RolePK primaryKey = dossierFolder2Role.getPrimaryKey();
return getPrimaryKey().compareTo(primaryKey);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof DossierFolder2RoleClp)) {
return false;
}
DossierFolder2RoleClp dossierFolder2Role = (DossierFolder2RoleClp)obj;
DossierFolder2RolePK primaryKey = dossierFolder2Role.getPrimaryKey();
if (getPrimaryKey().equals(primaryKey)) {
return true;
}
else {
return false;
}
}
public Class<?> getClpSerializerClass() {
return _clpSerializerClass;
}
@Override
public int hashCode() {
return getPrimaryKey().hashCode();
}
@Override
public String toString() {
StringBundler sb = new StringBundler(5);
sb.append("{dossierFolderId=");
sb.append(getDossierFolderId());
sb.append(", roleId=");
sb.append(getRoleId());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(10);
sb.append("<model><model-name>");
sb.append("org.oep.dossiermgt.model.DossierFolder2Role");
sb.append("</model-name>");
sb.append(
"<column><column-name>dossierFolderId</column-name><column-value><![CDATA[");
sb.append(getDossierFolderId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>roleId</column-name><column-value><![CDATA[");
sb.append(getRoleId());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private long _dossierFolderId;
private long _roleId;
private BaseModel<?> _dossierFolder2RoleRemoteModel;
private Class<?> _clpSerializerClass = org.oep.dossiermgt.service.ClpSerializer.class;
}