package net.onrc.onos.api.newintent;

import java.util.List;

/**
 * Abstraction of a compiler which is capable of taking an intent
 * and translating it to other, potentially installable, intents.
 *
 * @param <T> the type of intent
 */
public interface IntentCompiler<T extends Intent> {
    /**
     * Compiles the specified intent into other intents.
     *
     * @param intent intent to be compiled
     * @return list of resulting intents
     * @throws IntentException if issues are encountered while compiling the intent
     */
    List<Intent> compile(T intent);
}
