blob: dbc3cc44ba6b2ac22a94953e3e2dd1d5e6ea1ea7 [file] [log] [blame]
Brian O'Connorb876bf12014-10-02 14:59:37 -07001package org.onlab.onos.net.intent;
2
3import java.util.List;
4
5/**
6 * Abstraction of a compiler which is capable of taking an intent
7 * and translating it to other, potentially installable, intents.
8 *
9 * @param <T> the type of intent
10 */
11public interface IntentCompiler<T extends Intent> {
12 /**
13 * Compiles the specified intent into other intents.
14 *
15 * @param intent intent to be compiled
16 * @return list of resulting intents
17 * @throws IntentException if issues are encountered while compiling the intent
18 */
19 List<Intent> compile(T intent);
20}