package com.feedly.cassandra.entity.enhance; import java.lang.reflect.Field; import com.feedly.cassandra.anno.Column; import com.feedly.cassandra.anno.ColumnFamily; import com.feedly.cassandra.anno.Index; import com.feedly.cassandra.anno.RowKey; import com.feedly.cassandra.entity.EntityUtils; @ColumnFamily(name="ttlbean", ttl=10) @Index(props= {"strVal1", "strVal2", "strVal3"}) public class TtlBean { @RowKey private Long rowKey; @Column(name="s1", ttl=5) private String strVal1; @Column(name="s2", ttl=15) private String strVal2; @Column(name="s3") private String strVal3; public Long getRowKey() { return rowKey; } public void setRowKey(Long rowKey) { this.rowKey = rowKey; } public String getStrVal1() { return strVal1; } public void setStrVal1(String strVal1) { this.strVal1 = strVal1; } public String getStrVal2() { return strVal2; } public void setStrVal2(String strVal2) { this.strVal2 = strVal2; } public String getStrVal3() { return strVal3; } public void setStrVal3(String strVal3) { this.strVal3 = strVal3; } @Override public boolean equals(Object obj) { if(obj instanceof TtlBean) return EntityUtils.beanFieldsEqual(this, obj); return false; } @Override public String toString() { StringBuilder b = new StringBuilder(); for(Field f : getClass().getDeclaredFields()) { try { b.append(f.getName() + ":" + f.get(this)).append(" "); } catch(Exception e) { return "error"; } } return b.toString(); } }