/**
* 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.analytics.model;
import com.liferay.content.targeting.analytics.service.AnalyticsReferrerLocalServiceUtil;
import com.liferay.content.targeting.analytics.service.ClpSerializer;
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 java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* @author Brian Wing Shun Chan
*/
public class AnalyticsReferrerClp extends BaseModelImpl<AnalyticsReferrer>
implements AnalyticsReferrer {
public AnalyticsReferrerClp() {
}
@Override
public Class<?> getModelClass() {
return AnalyticsReferrer.class;
}
@Override
public String getModelClassName() {
return AnalyticsReferrer.class.getName();
}
@Override
public long getPrimaryKey() {
return _analyticsReferrerId;
}
@Override
public void setPrimaryKey(long primaryKey) {
setAnalyticsReferrerId(primaryKey);
}
@Override
public Serializable getPrimaryKeyObj() {
return _analyticsReferrerId;
}
@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("analyticsReferrerId", getAnalyticsReferrerId());
attributes.put("analyticsEventId", getAnalyticsEventId());
attributes.put("referrerClassName", getReferrerClassName());
attributes.put("referrerClassPK", getReferrerClassPK());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
Long analyticsReferrerId = (Long)attributes.get("analyticsReferrerId");
if (analyticsReferrerId != null) {
setAnalyticsReferrerId(analyticsReferrerId);
}
Long analyticsEventId = (Long)attributes.get("analyticsEventId");
if (analyticsEventId != null) {
setAnalyticsEventId(analyticsEventId);
}
String referrerClassName = (String)attributes.get("referrerClassName");
if (referrerClassName != null) {
setReferrerClassName(referrerClassName);
}
Long referrerClassPK = (Long)attributes.get("referrerClassPK");
if (referrerClassPK != null) {
setReferrerClassPK(referrerClassPK);
}
}
@Override
public long getAnalyticsReferrerId() {
return _analyticsReferrerId;
}
@Override
public void setAnalyticsReferrerId(long analyticsReferrerId) {
_analyticsReferrerId = analyticsReferrerId;
if (_analyticsReferrerRemoteModel != null) {
try {
Class<?> clazz = _analyticsReferrerRemoteModel.getClass();
Method method = clazz.getMethod("setAnalyticsReferrerId",
long.class);
method.invoke(_analyticsReferrerRemoteModel, analyticsReferrerId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getAnalyticsEventId() {
return _analyticsEventId;
}
@Override
public void setAnalyticsEventId(long analyticsEventId) {
_analyticsEventId = analyticsEventId;
if (_analyticsReferrerRemoteModel != null) {
try {
Class<?> clazz = _analyticsReferrerRemoteModel.getClass();
Method method = clazz.getMethod("setAnalyticsEventId",
long.class);
method.invoke(_analyticsReferrerRemoteModel, analyticsEventId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getReferrerClassName() {
return _referrerClassName;
}
@Override
public void setReferrerClassName(String referrerClassName) {
_referrerClassName = referrerClassName;
if (_analyticsReferrerRemoteModel != null) {
try {
Class<?> clazz = _analyticsReferrerRemoteModel.getClass();
Method method = clazz.getMethod("setReferrerClassName",
String.class);
method.invoke(_analyticsReferrerRemoteModel, referrerClassName);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getReferrerClassPK() {
return _referrerClassPK;
}
@Override
public void setReferrerClassPK(long referrerClassPK) {
_referrerClassPK = referrerClassPK;
if (_analyticsReferrerRemoteModel != null) {
try {
Class<?> clazz = _analyticsReferrerRemoteModel.getClass();
Method method = clazz.getMethod("setReferrerClassPK", long.class);
method.invoke(_analyticsReferrerRemoteModel, referrerClassPK);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
public BaseModel<?> getAnalyticsReferrerRemoteModel() {
return _analyticsReferrerRemoteModel;
}
public void setAnalyticsReferrerRemoteModel(
BaseModel<?> analyticsReferrerRemoteModel) {
_analyticsReferrerRemoteModel = analyticsReferrerRemoteModel;
}
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 = _analyticsReferrerRemoteModel.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(_analyticsReferrerRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() throws SystemException {
if (this.isNew()) {
AnalyticsReferrerLocalServiceUtil.addAnalyticsReferrer(this);
}
else {
AnalyticsReferrerLocalServiceUtil.updateAnalyticsReferrer(this);
}
}
@Override
public AnalyticsReferrer toEscapedModel() {
return (AnalyticsReferrer)ProxyUtil.newProxyInstance(AnalyticsReferrer.class.getClassLoader(),
new Class[] { AnalyticsReferrer.class },
new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
AnalyticsReferrerClp clone = new AnalyticsReferrerClp();
clone.setAnalyticsReferrerId(getAnalyticsReferrerId());
clone.setAnalyticsEventId(getAnalyticsEventId());
clone.setReferrerClassName(getReferrerClassName());
clone.setReferrerClassPK(getReferrerClassPK());
return clone;
}
@Override
public int compareTo(AnalyticsReferrer analyticsReferrer) {
long primaryKey = analyticsReferrer.getPrimaryKey();
if (getPrimaryKey() < primaryKey) {
return -1;
}
else if (getPrimaryKey() > primaryKey) {
return 1;
}
else {
return 0;
}
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof AnalyticsReferrerClp)) {
return false;
}
AnalyticsReferrerClp analyticsReferrer = (AnalyticsReferrerClp)obj;
long primaryKey = analyticsReferrer.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(9);
sb.append("{analyticsReferrerId=");
sb.append(getAnalyticsReferrerId());
sb.append(", analyticsEventId=");
sb.append(getAnalyticsEventId());
sb.append(", referrerClassName=");
sb.append(getReferrerClassName());
sb.append(", referrerClassPK=");
sb.append(getReferrerClassPK());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(16);
sb.append("<model><model-name>");
sb.append(
"com.liferay.content.targeting.analytics.model.AnalyticsReferrer");
sb.append("</model-name>");
sb.append(
"<column><column-name>analyticsReferrerId</column-name><column-value><![CDATA[");
sb.append(getAnalyticsReferrerId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>analyticsEventId</column-name><column-value><![CDATA[");
sb.append(getAnalyticsEventId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>referrerClassName</column-name><column-value><![CDATA[");
sb.append(getReferrerClassName());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>referrerClassPK</column-name><column-value><![CDATA[");
sb.append(getReferrerClassPK());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private long _analyticsReferrerId;
private long _analyticsEventId;
private String _referrerClassName;
private long _referrerClassPK;
private BaseModel<?> _analyticsReferrerRemoteModel;
private Class<?> _clpSerializerClass = com.liferay.content.targeting.analytics.service.ClpSerializer.class;
}