All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.att.research.xacmlatt.pdp.policy.LexicalEnvironment Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2021, salesforce.com, inc.
 * All rights reserved.
 * SPDX-License-Identifier: MIT
 * For full license text, see the LICENSE file in the repo root or https://opensource.org/licenses/MIT
 */
package com.att.research.xacmlatt.pdp.policy;

import com.att.research.xacml.api.trace.Traceable;

import java.util.Iterator;

/**
 * LexicalEnvironment defines the lexical environment in which an {@link Expression} is defined.
 *
 * @author ygrignon
 */
public interface LexicalEnvironment extends Traceable {
    /**
     * Gets an Iterator over the {@link VariableDefinition}s available in this LexicalEnvironment.
     *
     * @return an Iterator over the VariableDefinitions in this LexicalEnvironment
     */
    Iterator getVariableDefinitions();

    /**
     * Gets the VariableDefinition for the given String variable identifier.
     *
     * @param variableId the String variable identifier
     * @return the VariableDefinition with the given String identifier or null if not found
     */
    VariableDefinition getVariableDefinition(String variableId);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy