blob: 940d6abb3c5921ea41a7d0e04b3ded3a80570b32 [file] [log] [blame]
Sho SHIMIZU15ed4fd2014-08-05 14:40:42 -07001package net.onrc.onos.api.newintent;
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 * Removes the specified intent from the environment.
17 *
18 * @param intent intent to be removed
19 * @throws IntentException if issues are encountered while removing the intent
20 */
21 void remove(T intent); // TODO: consider calling this uninstall for symmetry
22}