com.att.research.xacmlatt.pdp.policy.FunctionArgument 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
The newest version!
/*
*
* 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.AttributeValue;
import com.att.research.xacml.api.Status;
/**
* FunctionArgument is the interface implemented by objects that can serve as arguments to a {@link com.att.research.xacmlatt.pdp.policy.FunctionDefinition}
* evaluate
call.
*
* @author car
* @version $Revision: 1.3 $
*/
public interface FunctionArgument {
/**
* Gets the {@link com.att.research.xacml.api.Status} from the evaluation of this FunctionArgument
.
*
* @return the Status
from the evaluation of this FunctionArgument
*/
public Status getStatus();
/**
* Determines if this FunctionArgument
is OK and can have its AttributeValue
or
* Bag
retrieved.
*
* @return true if this FunctionArgument
is OK, otherwise false.
*/
public boolean isOk();
/**
* Determines if this FunctionArgument
represents a bag of values.
*
* @return true if this FunctionArgument
represents a bag of values, else false.
*/
public boolean isBag();
/**
* Gets the single AttributeValue
representing the value of this FunctionArgument
. If
* this FunctionArgument
represents a bag, the value returned is up to the implementation.
*
* @return the single AttributeValue
representing the value of this FunctionArgument
.
*/
public AttributeValue> getValue();
/**
* Gets the {@link com.att.research.xacmlatt.pdp.policy.Bag} value for this FunctionArgument
if the
* argument represents a Bag
, (i.e. isBag
returns true).
*
* @return the Bag
value for this FunctionArgument
.
*/
public Bag getBag();
}