package ch.x42.terye.persistence; import javax.jcr.RepositoryException; import ch.x42.terye.persistence.id.ItemId; import ch.x42.terye.persistence.id.NodeId; import ch.x42.terye.persistence.id.PropertyId; public interface PersistenceManager { public ItemState loadItem(ItemId id) throws RepositoryException; public NodeState loadNode(NodeId id) throws RepositoryException; public PropertyState loadProperty(PropertyId id) throws RepositoryException; public void store(ItemState state) throws RepositoryException; public void store(NodeState state) throws RepositoryException; public void store(PropertyState state) throws RepositoryException; public void delete(ItemId id) throws RepositoryException; public void delete(NodeId id) throws RepositoryException; public void delete(PropertyId id) throws RepositoryException; public void persist(ChangeLog log) throws RepositoryException; public void dispose() throws Exception; }