Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Use code instead of panel to avoid "unknown macro" for enclosed curlies

...

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.  Panelunmigrated-wiki-markup

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

...