Class TransientPersistenceProvider

java.lang.Object
org.openxava.model.impl.TransientPersistenceProvider
All Implemented Interfaces:
Serializable, IPersistenceProvider

public class TransientPersistenceProvider extends Object implements IPersistenceProvider
Since:
5.9.1
Author:
Javier Paniza
See Also:
  • Constructor Details

    • TransientPersistenceProvider

      public TransientPersistenceProvider()
  • Method Details

    • getInstance

      public static TransientPersistenceProvider getInstance()
    • findByAnyProperty

      public Object findByAnyProperty(MetaModel metaModel, Map searchingValues) throws javax.ejb.ObjectNotFoundException, javax.ejb.FinderException, XavaException
      Description copied from interface: IPersistenceProvider
      Find an object by any property (or properties).

      Returns the first object that match with the sent arguments (searchingValues).

      Specified by:
      findByAnyProperty in interface IPersistenceProvider
      Returns:
      Never null.
      Throws:
      javax.ejb.ObjectNotFoundException
      javax.ejb.FinderException
      XavaException
    • find

      public Object find(MetaModel metaModel, Map keyValues) throws javax.ejb.ObjectNotFoundException, javax.ejb.FinderException, XavaException
      Description copied from interface: IPersistenceProvider
      Find an object from its key in map format.

      Specified by:
      find in interface IPersistenceProvider
      Returns:
      Never null.
      Throws:
      javax.ejb.ObjectNotFoundException
      javax.ejb.FinderException
      XavaException
    • find

      public Object find(MetaModel metaModel, Object key) throws javax.ejb.ObjectNotFoundException, javax.ejb.FinderException
      Description copied from interface: IPersistenceProvider
      Find a object from its key object.

      Specified by:
      find in interface IPersistenceProvider
      Returns:
      Never null.
      Throws:
      javax.ejb.ObjectNotFoundException
      javax.ejb.FinderException
    • toPropertiesContainer

      public IPropertiesContainer toPropertiesContainer(MetaModel metaModel, Object modelObject) throws XavaException
      Description copied from interface: IPersistenceProvider
      Return an IPropertiesContainer to manage using introspection the sent object.

      Specified by:
      toPropertiesContainer in interface IPersistenceProvider
      Throws:
      XavaException
    • create

      public Object create(MetaModel metaModel, Map values) throws javax.ejb.DuplicateKeyException, javax.ejb.CreateException, ValidationException, XavaException
      Description copied from interface: IPersistenceProvider
      Create a persistent object (saved in database) from the data passed in map format.

      Specified by:
      create in interface IPersistenceProvider
      Throws:
      javax.ejb.DuplicateKeyException
      javax.ejb.CreateException
      ValidationException
      XavaException
    • moveCollectionElement

      public void moveCollectionElement(MetaModel metaModel, Map keyValues, String collectionName, int from, int to) throws javax.ejb.FinderException, XavaException
      Description copied from interface: IPersistenceProvider
      Move an element in a collection.

      The collection must be sortable, in JPA it means to be a List with @OrderColumn.

      Specified by:
      moveCollectionElement in interface IPersistenceProvider
      Parameters:
      metaModel - of the entity that contains the collection. Not null.
      keyValues - Key value of the container of the collection. Not null.
      collectionName - Collection name of the container collection of element to move. Not null.
      from - Original position of the element in the collection. Zero based.
      to - Position in the collection where the element will be moved. Zero based.
      Throws:
      javax.ejb.ObjectNotFoundException - If object with this key does not exist
      javax.ejb.FinderException - Logic problem on find.
      XavaException - Any problem related to OpenXava. Rollback transaction.
    • createAggregate

      public Object createAggregate(MetaModel metaModel, Map values, MetaModel metaModelContainer, Object containerModel, int number) throws javax.ejb.CreateException, ValidationException, RemoteException, XavaException
      Description copied from interface: IPersistenceProvider
      Create an aggregate (saving it in database) from the data passed in map format.

      Specified by:
      createAggregate in interface IPersistenceProvider
      Parameters:
      metaModel - of the aggregate to create.
      values - Values to fill aggregate before save.
      metaModelContainer - of model that will contain the aggregate.
      containerModel - The object that will contain the new aggregate.
      number - This number will be passed to calculator of type IAggregateOidCalculator, it can use this number to calculate the oid. It's a simple counter.
      Throws:
      javax.ejb.CreateException
      ValidationException
      RemoteException
      XavaException
    • getKey

      public Object getKey(MetaModel metaModel, Map keyValues) throws XavaException
      Description copied from interface: IPersistenceProvider
      Return an object that can be used as primary key in model layer.

      For example, in EJB2 will be the Key class, in Hibernate can be the POJO class, and JPA ...

      Specified by:
      getKey in interface IPersistenceProvider
      Throws:
      XavaException
    • keyToMap

      public Map keyToMap(MetaModel metaModel, Object key) throws XavaException
      Description copied from interface: IPersistenceProvider
      Returns a map that contains the value of primary key sent as object.

      The map must contain at least the primary key value, but it can contains more, the rest is ignored.

      Specified by:
      keyToMap in interface IPersistenceProvider
      Throws:
      XavaException
    • remove

      public void remove(MetaModel metaModel, Map keyValues) throws javax.ejb.RemoveException, XavaException
      Description copied from interface: IPersistenceProvider
      Remove the object from persistent storage.
      Specified by:
      remove in interface IPersistenceProvider
      Throws:
      javax.ejb.RemoveException
      XavaException
    • begin

      public void begin()
      Description copied from interface: IPersistenceProvider
      Mark the starting of the unit of work associated to this thread.

      This method may be empty (for example in case of using CMT).

      Specified by:
      begin in interface IPersistenceProvider
    • commit

      public void commit()
      Description copied from interface: IPersistenceProvider
      Commit the work made by this persistent provider.

      This method may be empty (for example in case of using CMT).

      Specified by:
      commit in interface IPersistenceProvider
    • rollback

      public void rollback()
      Description copied from interface: IPersistenceProvider
      Rollback the work made by this persistent provider.

      This method may be empty (for example in case of using CMT).

      Specified by:
      rollback in interface IPersistenceProvider
    • flush

      public void flush()
      Description copied from interface: IPersistenceProvider
      Save in database all persistent data still in memory.

      This method may be empty, because in some technologies has no sense.

      Specified by:
      flush in interface IPersistenceProvider
    • reassociate

      public void reassociate(Object entity)
      Description copied from interface: IPersistenceProvider
      Reassociates a detached object to its persistent storage.

      This is for use when an object is serialized using RMI/IIOP, and need to reassociato to its persistent storage.
      This method may be empty, because in some technologies has no sense.

      Specified by:
      reassociate in interface IPersistenceProvider
    • getContainer

      public Object getContainer(MetaModel metaModel, Map containerKeyValues) throws XavaException
      Description copied from interface: IPersistenceProvider
      Return the object that represents the container object.

      The container object apply only to aggregates, and it's the object that containt to the aggregate. It can be a POJO or key class, depends on the implementation.

      Specified by:
      getContainer in interface IPersistenceProvider
      Throws:
      XavaException
    • refreshIfManaged

      public void refreshIfManaged(Object object)
      Description copied from interface: IPersistenceProvider
      Refresh the state of the instance from the database, overwriting changes made to the entity, if any.

      If the object is null or it's not managed simply do nothing, but not fails.
      This method may be empty, because in some technologies has no sense.

      Specified by:
      refreshIfManaged in interface IPersistenceProvider
    • createTabProvider

      public ITabProvider createTabProvider()
      Description copied from interface: IPersistenceProvider
      Provides tabular data.

      Specified by:
      createTabProvider in interface IPersistenceProvider
    • getModelName

      public String getModelName(Object modelObject)
      Description copied from interface: IPersistenceProvider
      Model name from the model object. It can be null. This value is useful when inheritance is used and the official model name does not match the real model name, so if inheritance does not apply it can be null.
      Specified by:
      getModelName in interface IPersistenceProvider