Class ExtendedDecisions


  • public final class ExtendedDecisions
    extends Object
    (Immutable) ExtendedDecision factory
    • Field Detail

      • SIMPLE_PERMIT

        public static final ExtendedDecision SIMPLE_PERMIT
        Simple immutable Permit extended Decision (no status)
      • SIMPLE_DENY

        public static final ExtendedDecision SIMPLE_DENY
        Simple immutable Deny Decision result (no status)
      • SIMPLE_NOT_APPLICABLE

        public static final ExtendedDecision SIMPLE_NOT_APPLICABLE
        Simple immutable NoApplicable Decision result (no status)
    • Method Detail

      • getPermit

        public static ExtendedDecision getPermit​(oasis.names.tc.xacml._3_0.core.schema.wd_17.Status status)
        Instantiates a Permit decision
        Parameters:
        status - status; even if decision is Permit/Deny, there may be a status "ok" (standard status in XACML 3.0) or internal error on attribute resolution but not resulting in Indeterminate because of special combining algorithm ignoring such results (like deny-unless-permit) or MustBePresent="false"
        Returns:
        permit result, more particularly SIMPLE_PERMIT iff status == null.
      • getDeny

        public static ExtendedDecision getDeny​(oasis.names.tc.xacml._3_0.core.schema.wd_17.Status status)
        Instantiates a Deny decision
        Parameters:
        status - status; even if decision is Permit/Deny, there may be a status "ok" (standard status in XACML 3.0) or internal error on attribute resolution but not resulting in Indeterminate because of special combining algorithm ignoring such results (like deny-unless-permit) or MustBePresent="false"
        Returns:
        deny result, more particularly SIMPLE_DENY iff status == null.
      • getNotApplicable

        public static ExtendedDecision getNotApplicable​(oasis.names.tc.xacml._3_0.core.schema.wd_17.Status status)
        Instantiates a NotApplicable decision
        Parameters:
        status - status; even if decision is Permit/Deny, there may be a status "ok" (standard status in XACML 3.0) or internal error on attribute resolution but not resulting in Indeterminate because of special combining algorithm ignoring such results (like deny-unless-permit) or MustBePresent="false"
        Returns:
        deny result, more particularly SIMPLE_NOT_APPLICABLE iff status == null.
      • newIndeterminate

        public static ExtendedDecision newIndeterminate​(oasis.names.tc.xacml._3_0.core.schema.wd_17.DecisionType extendedIndeterminate,
                                                        IndeterminateEvaluationException cause)
                                                 throws IllegalArgumentException
        Instantiates a Indeterminate Decision result with a given summary error info (status) and optional stacktrace (cause
        Parameters:
        extendedIndeterminate - (required) Extended Indeterminate value (XACML 3.0 Core, section 7.10). We use the following convention:
        • DecisionType.DENY means "Indeterminate{D}"
        • DecisionType.PERMIT means "Indeterminate{P}"
        • DecisionType.INDETERMINATE or null means "Indeterminate{DP}"
        • DecisionType.NOT_APPLICABLE is the default value and means the decision is not Indeterminate, and therefore any extended Indeterminate value should be ignored
        cause - cause of the Indeterminate result
        Returns:
        Indeterminate result
        Throws:
        IllegalArgumentException - if cause ==null