blob: 738be042c99cbe809bdf57348b9518f57cf0b5cc [file] [log] [blame]
Brian O'Connorb876bf12014-10-02 14:59:37 -07001package org.onlab.onos.net.intent;
2
3/**
4 * Abstraction of entity capable of installing intents to the environment.
5 */
6public interface IntentInstaller<T extends InstallableIntent> {
7 /**
8 * Installs the specified intent to the environment.
9 *
10 * @param intent intent to be installed
11 * @throws IntentException if issues are encountered while installing the intent
12 */
13 void install(T intent);
14
15 /**
16 * Uninstalls the specified intent from the environment.
17 *
18 * @param intent intent to be uninstalled
19 * @throws IntentException if issues are encountered while uninstalling the intent
20 */
21 void uninstall(T intent);
22}