*/
public interface ModelActionBuilder {
- public interface Prerequisite<T> extends Supplier<T> {
+ interface Prerequisite<T> extends Supplier<T> {
/**
*
*
*/
@Override
- public T get();
+ T get();
boolean isDone();
-
}
/**
* User-defined inference action.
*
*/
- public interface InferenceAction {
+ interface InferenceAction {
/**
* Invoked once all prerequisites were met and forward references
* List of failed prerequisites should be used to select right message / error
* type to debug problem in YANG sources.
*
+ * @param failed collection of prerequisites which were not met
* @throws InferenceException If inference action can not be processed.
* Note that this exception be used for user to debug YANG sources,
* so should provide helpful context to fix issue in sources.
@Nonnull <T extends Mutable<?,?,?>> Prerequisite<T> mutatesEffectiveCtx(T stmt);
- @Nonnull <K,E extends EffectiveStatement<?,?>,N extends StatementNamespace<K, ?, ? extends E>> Prerequisite<Mutable<?,?,E>> mutatesEffectiveCtx(StmtContext<?,?,?> context,Class<N> namespace, K key);
+ @Nonnull <K,E extends EffectiveStatement<?,?>, N extends IdentifierNamespace<K, ? extends StmtContext<?, ?, ?>>> Prerequisite<Mutable<?,?,E>> mutatesEffectiveCtx(StmtContext<?,?,?> context,Class<N> namespace, K key);
void apply(InferenceAction action) throws InferenceException;
@Nonnull <K, N extends StatementNamespace<K, ?, ? >> Prerequisite<StmtContext<?,?,?>> requiresCtx(StmtContext<?, ?, ?> context, Class<N> namespace, K key, ModelProcessingPhase phase);
@Nonnull <C extends StmtContext.Mutable<?,?,?>, CT extends C> Prerequisite<C> mutatesCtx(CT root, ModelProcessingPhase phase);
-}
\ No newline at end of file
+}