/**
* 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.socialcoding.model;
import aQute.bnd.annotation.ProviderType;
import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
import com.liferay.portal.kernel.model.BaseModel;
import com.liferay.portal.kernel.model.impl.BaseModelImpl;
import com.liferay.portal.kernel.util.GetterUtil;
import com.liferay.portal.kernel.util.ProxyUtil;
import com.liferay.portal.kernel.util.StringBundler;
import com.liferay.socialcoding.service.ClpSerializer;
import com.liferay.socialcoding.service.SVNRepositoryLocalServiceUtil;
import java.io.Serializable;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
/**
* @generated
*/
@ProviderType
public class SVNRepositoryClp extends BaseModelImpl<SVNRepository>
implements SVNRepository {
public SVNRepositoryClp() {
}
@Override
public Class<?> getModelClass() {
return SVNRepository.class;
}
@Override
public String getModelClassName() {
return SVNRepository.class.getName();
}
@Override
public long getPrimaryKey() {
return _svnRepositoryId;
}
@Override
public void setPrimaryKey(long primaryKey) {
setSvnRepositoryId(primaryKey);
}
@Override
public Serializable getPrimaryKeyObj() {
return _svnRepositoryId;
}
@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("svnRepositoryId", getSvnRepositoryId());
attributes.put("url", getUrl());
attributes.put("revisionNumber", getRevisionNumber());
attributes.put("entityCacheEnabled", isEntityCacheEnabled());
attributes.put("finderCacheEnabled", isFinderCacheEnabled());
return attributes;
}
@Override
public void setModelAttributes(Map<String, Object> attributes) {
Long svnRepositoryId = (Long)attributes.get("svnRepositoryId");
if (svnRepositoryId != null) {
setSvnRepositoryId(svnRepositoryId);
}
String url = (String)attributes.get("url");
if (url != null) {
setUrl(url);
}
Long revisionNumber = (Long)attributes.get("revisionNumber");
if (revisionNumber != null) {
setRevisionNumber(revisionNumber);
}
_entityCacheEnabled = GetterUtil.getBoolean("entityCacheEnabled");
_finderCacheEnabled = GetterUtil.getBoolean("finderCacheEnabled");
}
@Override
public long getSvnRepositoryId() {
return _svnRepositoryId;
}
@Override
public void setSvnRepositoryId(long svnRepositoryId) {
_svnRepositoryId = svnRepositoryId;
if (_svnRepositoryRemoteModel != null) {
try {
Class<?> clazz = _svnRepositoryRemoteModel.getClass();
Method method = clazz.getMethod("setSvnRepositoryId", long.class);
method.invoke(_svnRepositoryRemoteModel, svnRepositoryId);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public String getUrl() {
return _url;
}
@Override
public void setUrl(String url) {
_url = url;
if (_svnRepositoryRemoteModel != null) {
try {
Class<?> clazz = _svnRepositoryRemoteModel.getClass();
Method method = clazz.getMethod("setUrl", String.class);
method.invoke(_svnRepositoryRemoteModel, url);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public long getRevisionNumber() {
return _revisionNumber;
}
@Override
public void setRevisionNumber(long revisionNumber) {
_revisionNumber = revisionNumber;
if (_svnRepositoryRemoteModel != null) {
try {
Class<?> clazz = _svnRepositoryRemoteModel.getClass();
Method method = clazz.getMethod("setRevisionNumber", long.class);
method.invoke(_svnRepositoryRemoteModel, revisionNumber);
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
}
@Override
public java.lang.String getName() {
try {
String methodName = "getName";
Class<?>[] parameterTypes = new Class<?>[] { };
Object[] parameterValues = new Object[] { };
java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName,
parameterTypes, parameterValues);
return returnObj;
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
@Override
public java.lang.String getShortURL() {
try {
String methodName = "getShortURL";
Class<?>[] parameterTypes = new Class<?>[] { };
Object[] parameterValues = new Object[] { };
java.lang.String returnObj = (java.lang.String)invokeOnRemoteModel(methodName,
parameterTypes, parameterValues);
return returnObj;
}
catch (Exception e) {
throw new UnsupportedOperationException(e);
}
}
public BaseModel<?> getSVNRepositoryRemoteModel() {
return _svnRepositoryRemoteModel;
}
public void setSVNRepositoryRemoteModel(
BaseModel<?> svnRepositoryRemoteModel) {
_svnRepositoryRemoteModel = svnRepositoryRemoteModel;
}
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 = _svnRepositoryRemoteModel.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(_svnRepositoryRemoteModel,
remoteParameterValues);
if (returnValue != null) {
returnValue = ClpSerializer.translateOutput(returnValue);
}
return returnValue;
}
@Override
public void persist() {
if (this.isNew()) {
SVNRepositoryLocalServiceUtil.addSVNRepository(this);
}
else {
SVNRepositoryLocalServiceUtil.updateSVNRepository(this);
}
}
@Override
public SVNRepository toEscapedModel() {
return (SVNRepository)ProxyUtil.newProxyInstance(SVNRepository.class.getClassLoader(),
new Class[] { SVNRepository.class }, new AutoEscapeBeanHandler(this));
}
@Override
public Object clone() {
SVNRepositoryClp clone = new SVNRepositoryClp();
clone.setSvnRepositoryId(getSvnRepositoryId());
clone.setUrl(getUrl());
clone.setRevisionNumber(getRevisionNumber());
return clone;
}
@Override
public int compareTo(SVNRepository svnRepository) {
int value = 0;
value = getUrl().compareTo(svnRepository.getUrl());
if (value != 0) {
return value;
}
return 0;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof SVNRepositoryClp)) {
return false;
}
SVNRepositoryClp svnRepository = (SVNRepositoryClp)obj;
long primaryKey = svnRepository.getPrimaryKey();
if (getPrimaryKey() == primaryKey) {
return true;
}
else {
return false;
}
}
public Class<?> getClpSerializerClass() {
return _clpSerializerClass;
}
@Override
public int hashCode() {
return (int)getPrimaryKey();
}
@Override
public boolean isEntityCacheEnabled() {
return _entityCacheEnabled;
}
@Override
public boolean isFinderCacheEnabled() {
return _finderCacheEnabled;
}
@Override
public String toString() {
StringBundler sb = new StringBundler(7);
sb.append("{svnRepositoryId=");
sb.append(getSvnRepositoryId());
sb.append(", url=");
sb.append(getUrl());
sb.append(", revisionNumber=");
sb.append(getRevisionNumber());
sb.append("}");
return sb.toString();
}
@Override
public String toXmlString() {
StringBundler sb = new StringBundler(13);
sb.append("<model><model-name>");
sb.append("com.liferay.socialcoding.model.SVNRepository");
sb.append("</model-name>");
sb.append(
"<column><column-name>svnRepositoryId</column-name><column-value><![CDATA[");
sb.append(getSvnRepositoryId());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>url</column-name><column-value><![CDATA[");
sb.append(getUrl());
sb.append("]]></column-value></column>");
sb.append(
"<column><column-name>revisionNumber</column-name><column-value><![CDATA[");
sb.append(getRevisionNumber());
sb.append("]]></column-value></column>");
sb.append("</model>");
return sb.toString();
}
private long _svnRepositoryId;
private String _url;
private long _revisionNumber;
private BaseModel<?> _svnRepositoryRemoteModel;
private Class<?> _clpSerializerClass = com.liferay.socialcoding.service.ClpSerializer.class;
private boolean _entityCacheEnabled;
private boolean _finderCacheEnabled;
}