## org.hibernate.action.internal
Class UnresolvedEntityInsertActions

    java.lang.Object
      org.hibernate.action.internal.UnresolvedEntityInsertActions

    public class UnresolvedEntityInsertActions

extends Object

Tracks unresolved entity insert actions. An entity insert action is unresolved if the entity to be inserted has at least one non-nullable association with an unsaved transient entity, and the foreign key points to that unsaved transient entity. These references must be resolved before an insert action can be executed.

Constructor Summary
`UnresolvedEntityInsertActions()`

Method Summary
`void` `addUnresolvedEntityInsertAction(AbstractEntityInsertAction insert, NonNullableTransientDependencies dependencies)` Add an unresolved insert action.
`void` `checkNoUnresolvedActionsAfterOperation()` Throws `PropertyValueException` if there are any unresolved entity insert actions that depend on non-nullable associations with a transient entity.
`void` `clear()` Clear this `UnresolvedEntityInsertActions`.
`static UnresolvedEntityInsertActions` `deserialize(ObjectInputStream ois, SessionImplementor session)` Deerialize a `UnresolvedEntityInsertActions` object.
`Iterable<AbstractEntityInsertAction>` `getDependentEntityInsertActions()` Returns the unresolved insert actions.
`boolean` `isEmpty()` Returns true if there are no unresolved entity insert actions.
`Set<AbstractEntityInsertAction>` `resolveDependentActions(Object managedEntity, SessionImplementor session)` Resolve any dependencies on `managedEntity`.
`void` `serialize(ObjectOutputStream oos)` Serialize this `UnresolvedEntityInsertActions` object.
`String` `toString()`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### UnresolvedEntityInsertActions

    public UnresolvedEntityInsertActions()

Method Detail

### addUnresolvedEntityInsertAction

    public void addUnresolvedEntityInsertAction(AbstractEntityInsertAction insert,
                                                NonNullableTransientDependencies dependencies)

  Add an unresolved insert action.

  Parameters:
    `insert` - - unresolved insert action.
    `dependencies` - - non-nullable transient dependencies (must be non-null and non-empty).
  Throws:
    `IllegalArgumentException` - if `dependencies is null or empty`.

### getDependentEntityInsertActions

    public Iterable<AbstractEntityInsertAction> getDependentEntityInsertActions()

  Returns the unresolved insert actions.

  Returns:
    the unresolved insert actions.

### checkNoUnresolvedActionsAfterOperation

    public void checkNoUnresolvedActionsAfterOperation()
                                                throws PropertyValueException

  Throws `PropertyValueException` if there are any unresolved entity insert actions that depend on non-nullable associations with a transient entity. This method should be called on completion of an operation (after all cascades are completed) that saves an entity.

  Throws:
    `PropertyValueException` - if there are any unresolved entity insert actions; `PropertyValueException.getEntityName()` and `PropertyValueException.getPropertyName()` will return the entity name and property value for the first unresolved entity insert action.

### isEmpty

    public boolean isEmpty()

  Returns true if there are no unresolved entity insert actions.

  Returns:
    true, if there are no unresolved entity insert actions; false, otherwise.

### resolveDependentActions

    public Set<AbstractEntityInsertAction> resolveDependentActions(Object managedEntity,
                                                                   SessionImplementor session)

  Resolve any dependencies on `managedEntity`.

  Parameters:
    `managedEntity` - - the managed entity name
    `session` - - the session
  Returns:
    the insert actions that depended only on the specified entity.
  Throws:
    `IllegalArgumentException` - if `managedEntity` did not have managed or read-only status.

### clear

    public void clear()

  Clear this `UnresolvedEntityInsertActions`.

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### serialize

    public void serialize(ObjectOutputStream oos)
                   throws IOException

  Serialize this `UnresolvedEntityInsertActions` object.

  Parameters:
    `oos` - - the output stream
  Throws:
    `IOException` - if there is an error writing this object to the output stream.

### deserialize

    public static UnresolvedEntityInsertActions deserialize(ObjectInputStream ois,
                                                            SessionImplementor session)
                                                     throws IOException,
                                                            ClassNotFoundException

  Deerialize a `UnresolvedEntityInsertActions` object.

  Parameters:
    `ois` - - the input stream.
    `session` - - the session.
  Returns:
    the deserialized `UnresolvedEntityInsertActions` object
  Throws:
    `IOException` - if there is an error writing this object to the output stream.
    `ClassNotFoundException` - if there is a class that cannot be loaded.

Copyright © 2001-2012 Red Hat, Inc. All Rights Reserved.