...
This will be a fairly simple proxy implementation. Specifically, it will be closest to being a virtual proxy, in that it will appear to be a regular Item object, but will have a slightly smarter implementation (not loading metadata until requested, keeping track of what has changed to make updates more efficient etc). Panel Wiki Markup
Code Block |
---|
public class ItemProxy extends Item
{ // Overrides relevant methods of Item. }
|
org.dspace.content.dao.ItemDAO
This isn't final, but it's a good start. unmigrated-wiki-markup Panel
Code Block |
---|
public interface ItemDAO extends ContentDAO
implements CRUD<Item>, Link<Item, Bundle>
{ public Item create(); throws AuthorizeException public Item retrieve(int id); public Item retrieve(UUID uuid); public void update(Item item); throws AuthorizeException public void delete(int id); throws AuthorizeException public List<Item> getItems(); public List<Item> getItemsBySubmitter(EPerson eperson); public List<Item> getItemsByCollection(Collection collection); public List<Item> getParentItems(Bundle bundle); }
|
org.dspace.content.dao.ItemDAOFactory
Panelcode |
---|
public class ItemDAOFactory { public static ItemDAO getInstance(Context context) { // Eventually, the implementation that is returned will be // defined in the configuration. return new ItemDAOPostgres(context); }} } |
org.dspace.content.dao.postgres.ItemDAOPostgres
...