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

org.wildfly.config.model.StatementContext Maven / Gradle / Ivy

There is a newer version: 0.3.4
Show newest version
package org.wildfly.config.model;

import java.util.LinkedList;

/**
 *
 * TODO: Semantics of resolve() versus resolve(). IMO the later would be correct and resolve should go ...
 * It might better to leave the resolution semantic to a specific implementation (parent delegation, namespace based, etc)
 *
 * @author Heiko Braun
 * @date 1/22/13
 */
public interface StatementContext {


    /**
     * Get a value matching the key.
     * Scoped to current context.
     *
     * @param key
     * @return
     */
    String get(String key);

    /**
     * Get a tuple matching the key.
     * Scoped to current context.
     *
     * @param key
     * @return
     */
    String[] getTuple(String key);

    /**
     * Resolves a value matching the key.
     * In a hierarchy of contexts this will match the first occurrence.
     *
     * @param key
     * @return
     */
    String resolve(String key);

    /**
     * Resolves a tuple matching the key.
     * In a hierarchy of contexts this will match the first occurrence.
     *
     * @param key
     * @return
     */
    String[] resolveTuple(String key);

    /**
     * Collects all values matching a key.
     * In a hierarchy of contexts the list will be sorted from child (n) to parent (n+1).
     * n being the list index.
     *
     * @param key
     * @return
     */
    LinkedList collect(String key);

    /**
     * Collects all tuples matching a key.
     * In a hierarchy of contexts the list will be sorted from child (n) to parent (n+1).
     * n being the list index.
     *
     * @param key
     * @return
     */
    LinkedList collectTuples(String key);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy