/**
* 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.content.targeting.rule.score.points.model;
import com.liferay.content.targeting.rule.score.points.service.ClpSerializer;
import com.liferay.content.targeting.rule.score.points.service.ScorePointLocalServiceUtil;
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 com.liferay.portal.util.PortalUtil;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* @author Brian Wing Shun Chan
*/
public class ScorePointClp extends BaseModelImpl<ScorePoint>
implements ScorePoint {
public ScorePointClp() {
}
@Override
public Class<?> getModelClass() {
return ScorePoint.class;
}
@Override
public String getModelClassName() {
return ScorePoint.class.getName();
}
@Override
public long getPrimaryKey() {
return _scorePointId;
}
@Override
public void setPrimaryKey(long primaryKey) {
setScorePointId(primaryKey);
}
@Override
public Serializable getPrimaryKeyObj() {
return _scorePointId;
}
@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("scorePointId", getScorePointId());
attributes.put("anonymousUserId", getAnonymousUserId());
attributes.put("userSegmentId", getUserSegmentId());
attributes.put("points", getPoints());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
String uuid = (String)attributes.get("uuid");
if (uuid != null) {
setUuid(uuid);
}
Long scorePointId = (Long)attributes.get("scorePointId");
if (scorePointId != null) {
setScorePointId(scorePointId);
}
Long anonymousUserId = (Long)attributes.get("anonymousUserId");
if (anonymousUserId != null) {
setAnonymousUserId(anonymousUserId);
}
Long userSegmentId = (Long)attributes.get("userSegmentId");
if (userSegmentId != null) {
setUserSegmentId(userSegmentId);
}
Long points = (Long)attributes.get("points");
if (points != null) {
setPoints(points);
}
}
@Override
public String getUuid() {
return _uuid;
}
@Override
public void setUuid(String uuid) {
_uuid = uuid;
if (_scorePointRemoteModel != null) {
try {
Class<?> clazz = _scorePointRemoteModel.getClass();
Method method = clazz.getMethod("setUuid", String.class);
method.invoke(_scorePointRemoteModel, uuid);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getScorePointId() {
return _scorePointId;
}
@Override
public void setScorePointId(long scorePointId) {
_scorePointId = scorePointId;
if (_scorePointRemoteModel != null) {
try {
Class<?> clazz = _scorePointRemoteModel.getClass();
Method method = clazz.getMethod("setScorePointId", long.class);
method.invoke(_scorePointRemoteModel, scorePointId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getAnonymousUserId() {
return _anonymousUserId;
}
@Override
public void setAnonymousUserId(long anonymousUserId) {
_anonymousUserId = anonymousUserId;
if (_scorePointRemoteModel != null) {
try {
Class<?> clazz = _scorePointRemoteModel.getClass();
Method method = clazz.getMethod("setAnonymousUserId", long.class);
method.invoke(_scorePointRemoteModel, anonymousUserId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getAnonymousUserUuid() throws SystemException {
return PortalUtil.getUserValue(getAnonymousUserId(), "uuid",
_anonymousUserUuid);
}
@Override
public void setAnonymousUserUuid(String anonymousUserUuid) {
_anonymousUserUuid = anonymousUserUuid;
}
@Override
public long getUserSegmentId() {
return _userSegmentId;
}
@Override
public void setUserSegmentId(long userSegmentId) {
_userSegmentId = userSegmentId;
if (_scorePointRemoteModel != null) {
try {
Class<?> clazz = _scorePointRemoteModel.getClass();
Method method = clazz.getMethod("setUserSegmentId", long.class);
method.invoke(_scorePointRemoteModel, userSegmentId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getPoints() {
return _points;
}
@Override
public void setPoints(long points) {
_points = points;
if (_scorePointRemoteModel != null) {
try {
Class<?> clazz = _scorePointRemoteModel.getClass();
Method method = clazz.getMethod("setPoints", long.class);
method.invoke(_scorePointRemoteModel, points);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
public BaseModel<?> getScorePointRemoteModel() {
return _scorePointRemoteModel;
}
public void setScorePointRemoteModel(BaseModel<?> scorePointRemoteModel) {
_scorePointRemoteModel = scorePointRemoteModel;
}
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 = _scorePointRemoteModel.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(_scorePointRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() throws SystemException {
if (this.isNew()) {
ScorePointLocalServiceUtil.addScorePoint(this);
}
else {
ScorePointLocalServiceUtil.updateScorePoint(this);
}
}
@Override
public ScorePoint toEscapedModel() {
return (ScorePoint)ProxyUtil.newProxyInstance(ScorePoint.class.getClassLoader(),
new Class[] { ScorePoint.class }, new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
ScorePointClp clone = new ScorePointClp();
clone.setUuid(getUuid());
clone.setScorePointId(getScorePointId());
clone.setAnonymousUserId(getAnonymousUserId());
clone.setUserSegmentId(getUserSegmentId());
clone.setPoints(getPoints());
return clone;
}
@Override
public int compareTo(ScorePoint scorePoint) {
int value = 0;
if (getAnonymousUserId() < scorePoint.getAnonymousUserId()) {
value = -1;
}
else if (getAnonymousUserId() > scorePoint.getAnonymousUserId()) {
value = 1;
}
else {
value = 0;
}
value = value * -1;
if (value != 0) {
return value;
}
return 0;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof ScorePointClp)) {
return false;
}
ScorePointClp scorePoint = (ScorePointClp)obj;
long primaryKey = scorePoint.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(11);
sb.append("{uuid=");
sb.append(getUuid());
sb.append(", scorePointId=");
sb.append(getScorePointId());
sb.append(", anonymousUserId=");
sb.append(getAnonymousUserId());
sb.append(", userSegmentId=");
sb.append(getUserSegmentId());
sb.append(", points=");
sb.append(getPoints());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(19);
sb.append("<model><model-name>");
sb.append(
"com.liferay.content.targeting.rule.score.points.model.ScorePoint");
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>scorePointId</column-name><column-value><![CDATA[");
sb.append(getScorePointId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>anonymousUserId</column-name><column-value><![CDATA[");
sb.append(getAnonymousUserId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>userSegmentId</column-name><column-value><![CDATA[");
sb.append(getUserSegmentId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>points</column-name><column-value><![CDATA[");
sb.append(getPoints());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private String _uuid;
private long _scorePointId;
private long _anonymousUserId;
private String _anonymousUserUuid;
private long _userSegmentId;
private long _points;
private BaseModel<?> _scorePointRemoteModel;
private Class<?> _clpSerializerClass = com.liferay.content.targeting.rule.score.points.service.ClpSerializer.class;
}