com.att.research.xacmlatt.pdp.policy.Expression Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xacml-pdp Show documentation
Show all versions of xacml-pdp Show documentation
ATT reference implementation of XACML PDP engine
/*
*
* Copyright (c) 2013,2019 AT&T Knowledge Ventures
* SPDX-License-Identifier: MIT
*/
package com.att.research.xacmlatt.pdp.policy;
import com.att.research.xacml.api.StatusCode;
import com.att.research.xacmlatt.pdp.eval.EvaluationContext;
import com.att.research.xacmlatt.pdp.eval.EvaluationException;
/**
* Expression extends {@link com.att.research.xacmlatt.pdp.policy.PolicyComponent} to represent a XACML ExpressionType element.
*
* @author car
* @version $Revision: 1.1 $
*/
public abstract class Expression extends PolicyComponent {
public Expression(StatusCode statusCodeIn, String statusMessageIn) {
super(statusCodeIn, statusMessageIn);
}
public Expression(StatusCode statusCodeIn) {
super(statusCodeIn);
}
public Expression() {
}
/**
* Evaluates this Expression
in the given {@link com.att.research.xacmlatt.pdp.eval.EvaluationContext}.
*
* @param evaluationContext the EvaluationContext
in which to evaluate this Expression
* @param policyDefaults the {@link com.att.research.xacmlatt.pdp.policy.PolicyDefaults} to use in evaluating this Expression
* @return a {@link com.att.research.xacmlatt.pdp.policy.ExpressionResult}
* @throws EvaluationException EvaluationException
*/
public abstract ExpressionResult evaluate(EvaluationContext evaluationContext, PolicyDefaults policyDefaults) throws EvaluationException;
}