Class ObligationService

java.lang.Object
org.opensaml.xacml.ctx.provider.impl.ObligationService

public class ObligationService extends Object
A service for evaluating the obligations within a context.
  • Field Details

    • rwLock

      @Nonnull private ReentrantReadWriteLock rwLock
      Read/write lock around the registered obligation handlers.
    • obligationHandlers

      @Nonnull private Set<BaseObligationHandler> obligationHandlers
      Registered obligation handlers.
  • Constructor Details

    • ObligationService

      public ObligationService()
      Constructor.
  • Method Details

    • getObligationHandlers

      @Nonnull @Unmodifiable @Live public Set<BaseObligationHandler> getObligationHandlers()
      Gets the registered obligation handlers.
      Returns:
      registered obligation handlers
    • addObligationhandler

      public void addObligationhandler(@Nonnull BaseObligationHandler handler)
      Adds an obligation handler to the list of registered handlers This method waits until a write lock is obtained for the set of registered obligation handlers.
      Parameters:
      handler - the handler to add to the list of registered handlers.
    • addObligationhandler

      public void addObligationhandler(@Nonnull Collection<BaseObligationHandler> handlers)
      Adds a collection of obligation handler to the list of registered handlers This method waits until a write lock is obtained for the set of registered obligation handlers.
      Parameters:
      handlers - the collection of handlers to add to the list of registered handlers.
    • removeObligationHandler

      public void removeObligationHandler(@Nonnull BaseObligationHandler handler)
      Removes an obligation handler from the list of registered handlers This method waits until a write lock is obtained for the set of registered obligation handlers.
      Parameters:
      handler - the handler to remove from the list of registered handlers.
    • processObligations

      public void processObligations(@Nonnull ObligationProcessingContext context) throws ObligationProcessingException
      Processes the obligations within the effective XACML policy. This method waits until a read lock is obtained for the set of registered obligation handlers.
      Parameters:
      context - current processing context
      Throws:
      ObligationProcessingException - thrown if there is a problem evaluating an obligation
    • preprocessObligations

      @Nonnull protected Map<String,ObligationType> preprocessObligations(@Nonnull ObligationProcessingContext context)
      Preprocesses the obligations returned within the result. This preprocessing determines the active effect, based on ResultType.getDecision(), and creates an index that maps obligation IDs to the ObligationType returned by the PDP.
      Parameters:
      context - current processing context
      Returns:
      preprocessed obligations