This repository has been archived by the owner on May 3, 2022. It is now read-only.
Persistence example
Otávio Santana edited this page Mar 31, 2014
·
6 revisions
A simple persistence example.
public class PersistenceDao {
private Persistence persistence;
private Class<T> baseClass;
public PersistenceDao(Class<T> baseClass) {
this.baseClass = baseClass;
persistence = PersistenceUtil.INSTANCE.getPersistence();
PersistenceUtil.INSTANCE.addFamilyObject(baseClass);
}
public boolean insert(T bean) {
return persistence.insert(bean);
}
public boolean remove(T bean) {
return persistence.delete(bean);
}
public boolean removeFromRowKey(K rowKey) {
return persistence.deleteByKey(rowKey, baseClass);
}
public boolean update(T bean) {
return persistence.update(bean);
}
public T retrieve(Object id) {
return persistence.findByKey(id, baseClass);
}
public List<T> listAll() {
return persistence.findAll(baseClass);
}
public List<T> listByIndex(String indexName, Object index) {
return persistence.findByIndex(indexName, index, baseClass);
}
public List<T> listByKeyAndIndex(Object id, Object index) {
return persistence.findByKeyAndIndex(id, index, baseClass);
}
public List<T> listByKeyAndIndexRange(Object id, Object indexStart,
Object indexEnd, boolean inclusive) {
return persistence.findByKeyAndIndexRange(id, indexStart, indexEnd,
inclusive, baseClass);
}
public boolean executeUpdate(String query) {
return persistence.executeUpdate(query);
}
public Long count() {
return persistence.count(baseClass);
}
public boolean executeUpdateCql(String string) {
return persistence.executeUpdate(string);
}
public SelectBuilder<T> select() {
return persistence.selectBuilder(baseClass);
}
public UpdateBuilder<T> update() {
return persistence.updateBuilder(baseClass);
}
public InsertBuilder<T> insertBuilder() {
return persistence.insertBuilder(baseClass);
}
public InsertBuilder<T> insertBuilder(T bean) {
return persistence.insertBuilder(bean);
}
public DeleteBuilder<T> deleteBuilder(String... columnNames) {
return persistence.deleteBuilder(baseClass, columnNames);
}
public DeleteBuilder<T> deleteBuilder(Object id, String... columnNames) {
return persistence.deleteBuilder(baseClass, id, columnNames);
}
public void removeAll() {
persistence.removeAll(baseClass);
}
public BatchBuilder batchBuilder() {
return persistence.batchBuilder();
}
public UpdateBuilder<T> update(SimpleID id) {
return persistence.updateBuilder(baseClass, id);
}
}
public class PersonDAOTest {
private PersistenceDao<Person, Long> dao = new PersistenceDao<Person, Long>(
Person.class);
public void insert() {
Person person = getPerson();
person.setName(NAME);
person.setId(FOUR);
person.setYear(YEAR);
Address address = getAddress();
person.setAddress(address);
dao.insert(person);
}
public void retrieve() {
Person person = dao.retrieve(FOUR);
}
public void removeFromRowKeyTest() {
dao.removeFromRowKey(new Long(2));
}
public void remove() {
Person person = getPerson();
person.setId(1L);
dao.remove(person);
}
public void list() {
Person person = getPerson();
person.setId(1L);
dao.insert(person);
List<Person> persons = dao.listAll();
}
public void findIndex() {
List<Person> persons = dao.listByIndex("name", NAME);
}
public void count() {
Long count = dao.count();
}
}