Class TransientPersistenceProvider

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void begin()
      Mark the starting of the unit of work associated to this thread.
      void commit()
      Commit the work made by this persistent provider.
      java.lang.Object create​(MetaModel metaModel, java.util.Map values)
      Create a persistent object (saved in database) from the data passed in map format.
      java.lang.Object createAggregate​(MetaModel metaModel, java.util.Map values, MetaModel metaModelContainer, java.lang.Object containerModel, int number)
      Create an aggregate (saving it in database) from the data passed in map format.
      ITabProvider createTabProvider()
      Provides tabular data.
      java.lang.Object find​(MetaModel metaModel, java.lang.Object key)
      Find a object from its key object.
      java.lang.Object find​(MetaModel metaModel, java.util.Map keyValues)
      Find an object from its key in map format.
      java.lang.Object findByAnyProperty​(MetaModel metaModel, java.util.Map searchingValues)
      Find an object by any property (or properties).
      void flush()
      Save in database all persistent data still in memory.
      java.lang.Object getContainer​(MetaModel metaModel, java.util.Map containerKeyValues)
      Return the object that represents the container object.
      static TransientPersistenceProvider getInstance()  
      java.lang.Object getKey​(MetaModel metaModel, java.util.Map keyValues)
      Return an object that can be used as primary key in model layer.
      java.lang.String getModelName​(java.lang.Object modelObject)
      Model name from the model object.
      java.util.Map keyToMap​(MetaModel metaModel, java.lang.Object key)
      Returns a map that contains the value of primary key sent as object.
      void moveCollectionElement​(MetaModel metaModel, java.util.Map keyValues, java.lang.String collectionName, int from, int to)
      Move an element in a collection.
      void reassociate​(java.lang.Object entity)
      Reassociates a detached object to its persistent storage.
      void refreshIfManaged​(java.lang.Object object)
      Refresh the state of the instance from the database, overwriting changes made to the entity, if any.
      void remove​(MetaModel metaModel, java.util.Map keyValues)
      Remove the object from persistent storage.
      void rollback()
      Rollback the work made by this persistent provider.
      IPropertiesContainer toPropertiesContainer​(MetaModel metaModel, java.lang.Object modelObject)
      Return an IPropertiesContainer to manage using introspection the sent object.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TransientPersistenceProvider

        public TransientPersistenceProvider()
    • Method Detail

      • findByAnyProperty

        public java.lang.Object findByAnyProperty​(MetaModel metaModel,
                                                  java.util.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 java.lang.Object find​(MetaModel metaModel,
                                     java.util.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 java.lang.Object find​(MetaModel metaModel,
                                     java.lang.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
      • moveCollectionElement

        public void moveCollectionElement​(MetaModel metaModel,
                                          java.util.Map keyValues,
                                          java.lang.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 java.lang.Object createAggregate​(MetaModel metaModel,
                                                java.util.Map values,
                                                MetaModel metaModelContainer,
                                                java.lang.Object containerModel,
                                                int number)
                                         throws javax.ejb.CreateException,
                                                ValidationException,
                                                java.rmi.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
        java.rmi.RemoteException
        XavaException
      • getKey

        public java.lang.Object getKey​(MetaModel metaModel,
                                       java.util.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 java.util.Map keyToMap​(MetaModel metaModel,
                                      java.lang.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
      • 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​(java.lang.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 java.lang.Object getContainer​(MetaModel metaModel,
                                             java.util.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​(java.lang.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
      • getModelName

        public java.lang.String getModelName​(java.lang.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