package com.feedly.cassandra.entity.enhance;
import java.lang.reflect.Field;
import java.util.List;
import java.util.Map;
import com.feedly.cassandra.anno.Column;
import com.feedly.cassandra.anno.ColumnFamily;
import com.feedly.cassandra.anno.RowKey;
import com.feedly.cassandra.dao.CounterColumn;
import com.feedly.cassandra.entity.EntityUtils;
@ColumnFamily(name="parentcounterbean")
public class ParentCounterBean implements Comparable<ParentCounterBean>, Cloneable
{
@RowKey
private Long rowkey;
@Column(name="l")
private List<EmbeddedCounterBean> listProp;
@Column(name="m")
private Map<String, EmbeddedCounterBean> mapProp;
@Column(name="s", hashIndexed=true)
private String strProp;
@Column(name="c")
private CounterColumn counterProp;
@Column(name="e")
private EmbeddedCounterBean embeddedProp;
public List<EmbeddedCounterBean> getListProp()
{
return listProp;
}
public void setListProp(List<EmbeddedCounterBean> listProp)
{
this.listProp = listProp;
}
public Map<String, EmbeddedCounterBean> getMapProp()
{
return mapProp;
}
public void setMapProp(Map<String, EmbeddedCounterBean> mapProp)
{
this.mapProp = mapProp;
}
public String getStrProp()
{
return strProp;
}
public void setStrProp(String strProp)
{
this.strProp = strProp;
}
public Long getRowkey()
{
return rowkey;
}
public void setRowkey(Long rowkey)
{
this.rowkey = rowkey;
}
public EmbeddedCounterBean getEmbeddedProp()
{
return embeddedProp;
}
public void setEmbeddedProp(EmbeddedCounterBean embeddedProp)
{
this.embeddedProp = embeddedProp;
}
public CounterColumn getCounterProp()
{
return counterProp;
}
public void setCounterProp(CounterColumn counterProp)
{
this.counterProp = counterProp;
}
@Override
public boolean equals(Object obj)
{
if(obj instanceof ParentCounterBean)
return EntityUtils.beanFieldsEqual(this, obj);
return false;
}
@Override
public String toString()
{
StringBuilder b = new StringBuilder();
for(Field f : getClass().getDeclaredFields())
{
if(f.getName().startsWith("__"))
continue;
try
{
b.append(f.getName() + ":" + f.get(this)).append(" ");
}
catch(Exception e)
{
return "error";
}
}
return b.toString();
}
@Override
public int compareTo(ParentCounterBean o)
{
return rowkey.compareTo(o.rowkey);
}
}