Class DependencyProfile

java.lang.Object
com.aquima.interactions.profile.wrapper.ReadonlyProfile
com.aquima.interactions.rule.inference.DependencyProfile
All Implemented Interfaces:
IEventChannel, IProfile, IProfileLifecycle, InferenceContext, Serializable

public class DependencyProfile extends ReadonlyProfile implements InferenceContext
Profile wrapper that keeps track of all the used entity instances. This wrapper is used to gather the dependencies during the evaluation of a rule.
Since:
5.0
Author:
O. Kerpershoek
See Also:
  • Constructor Details

  • Method Details

    • wrapInstance

      protected IEntityInstance wrapInstance(IEntityInstance instance)
      Overrides:
      wrapInstance in class ReadonlyProfile
    • getActiveInstance

      public IEntityInstance getActiveInstance(String entityName)
      Description copied from interface: InferenceContext
      This method returns the active instance for the specified type. When no active instance can be found for the specified type, the type is assumed to be a singleton instance. When this method is invoked for a non singleton type without any active instance, the call to the getSingletonInstance will fail due to a CreateInstanceException.
      Specified by:
      getActiveInstance in interface InferenceContext
      Parameters:
      entityName - The entity type for which the active instance is requested.
      Returns:
      The instance that is active for the specified type.
    • getAllInstancesForEntity

      public IEntityInstance[] getAllInstancesForEntity(String entityName, boolean includeChildren)
      Description copied from interface: IProfile
      This method returns all existing instances of a certain type in the profile. Even when there are no instances available for a certain type an empty array will be returned.
      Specified by:
      getAllInstancesForEntity in interface IProfile
      Overrides:
      getAllInstancesForEntity in class ReadonlyProfile
      Parameters:
      entityName - The entity type for which the instances are requested.
      includeChildren - when this option is passed as true, all child entity-types are also returned.
      Returns:
      An array of instances for the specified type (never null).
    • getDependencies

      protected Dependency[] getDependencies()
    • addDependency

      protected void addDependency(Dependency dependency)
    • getInferenceDetails

      public IInferenceDetails getInferenceDetails(ValueReference attributeReference)
      Description copied from interface: InferenceContext
      This method may be used to request detailed inference information for a specific attribute. The details object contains information like which rule inferenced the value, and what other values were used by the rule engine to determine the current result.
      Specified by:
      getInferenceDetails in interface InferenceContext
      Parameters:
      attributeReference - The reference to the attribute whose inference information is requested.
      Returns:
      Object containing detailed information about the value related to the inference process.