org.minimalj.transaction.persistence.ReadHistoryTransaction Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of minimalj Show documentation
Show all versions of minimalj Show documentation
A java framework aiming for a minimal programming style. Includes GUI and persistence layer.
package org.minimalj.transaction.persistence;
import java.util.List;
import org.minimalj.backend.Persistence;
import org.minimalj.backend.sql.SqlPersistence;
import org.minimalj.transaction.PersistenceTransaction;
import org.minimalj.util.IdUtils;
public class ReadHistoryTransaction implements PersistenceTransaction> {
private static final long serialVersionUID = 1L;
private final Class clazz;
private final Object id;
private final int maxResults;
@SuppressWarnings("unchecked")
public ReadHistoryTransaction(T object) {
this.clazz = (Class) object.getClass();
this.id = IdUtils.getId(object);
this.maxResults = Integer.MAX_VALUE;
}
public ReadHistoryTransaction(Class clazz, Object id) {
this(clazz, id, Integer.MAX_VALUE);
}
public ReadHistoryTransaction(Class clazz, Object id, int maxResults) {
this.clazz = clazz;
this.id = id;
this.maxResults = maxResults;
}
@Override
public Class> getEntityClazz() {
return clazz;
}
@Override
public List execute(Persistence persistence) {
if (persistence instanceof SqlPersistence) {
SqlPersistence sqlPersistence = (SqlPersistence) persistence;
List result = sqlPersistence.loadHistory(clazz, id, maxResults);
return result;
} else {
throw new IllegalStateException(getClass().getSimpleName() + " works only with " + SqlPersistence.class.getSimpleName());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy