package com.fourinone;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
final public class CacheProxy
{
private Cache cc;
protected CacheProxy(String host, int port)
{
cc = BeanContext.getCacheFacade(host, port);
}
private Object getObjFromBean(ObjectBean ob)
{
return ob!=null?ObjectBytes.toObject((byte[])ob.toObject()):null;
}
private Map getMapFromBeanList(List<ObjectBean> oblist)
{
if(oblist!=null)
{
ParkObjValue ov = new ParkObjValue();
for(ObjectBean ob:oblist)
ov.put(ov.getDomainNode(ob.getName())[1],getObjFromBean(ob));
return ov;
}else return null;
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="add",policy=DelegatePolicy.Implements)
public String add(String name, Serializable obj)
{
String keystr = null;
try{
keystr = cc.add(name, ObjectBytes.toBytes(obj));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[add]", e);
}
return keystr;
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="put",policy=DelegatePolicy.Implements)
public Object put(String keyid, String name, Serializable obj)
{
ObjectBean objt = null;
try{
objt = cc.put(keyid, name, ObjectBytes.toBytes(obj));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[put]", e);
}
return getObjFromBean(objt);
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="get",policy=DelegatePolicy.Implements)
public Object get(String keyid, String name)
{
ObjectBean obj = null;
try{
obj = cc.get(keyid, name);
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[get]", e);
}
return getObjFromBean(obj);
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="get",policy=DelegatePolicy.Implements)
public Map get(String keyid)
{
List<ObjectBean> objlist = null;
try{
objlist = cc.get(keyid);
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[get]", e);
}
return getMapFromBeanList(objlist);
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="remove",policy=DelegatePolicy.Implements)
public Object remove(String keyid, String name)
{
ObjectBean obj = null;
try{
obj = cc.remove(keyid, name);
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[remove]", e);
}
return getObjFromBean(obj);
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="remove",policy=DelegatePolicy.Implements)
public Map remove(String keyid)
{
List<ObjectBean> objlist = null;
try{
objlist = cc.remove(keyid);
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[remove]", e);
}
return getMapFromBeanList(objlist);
}
/*
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="add",policy=DelegatePolicy.Implements)
public String add(String type, Serializable obj)
{
String addstr = null;
try{
addstr = cc.add(type, ObjectBytes.toBytes(obj));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[add]", e);
}
return addstr;
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="get",policy=DelegatePolicy.Implements)
public Object get(String type, String keyid)
{
Object obj = null;
try{
obj = ObjectBytes.toObject((byte[])cc.get(type, keyid));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[get]", e);
}
return obj;
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="putByKey",policy=DelegatePolicy.Implements)
public Object putByKey(String keyid, String name, Serializable obj)
{
Object objt = null;
try{
objt = cc.putByKey(keyid, name, ObjectBytes.toBytes(obj));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[putByKey]", e);
}
return objt;
}
@Delegate(interfaceName="com.fourinone.CacheLocal",methodName="getByKey",policy=DelegatePolicy.Implements)
public Object getByKey(String keyid, String name)
{
Object obj = null;
try{
obj = ObjectBytes.toObject((byte[])cc.getByKey(keyid, name));
}catch(Exception e){
LogUtil.info("[CacheProxy]", "[getByKey]", e);
}
return obj;
}*/
}