blob: 3b8085a9680ca16f4dc3393a1dd7c48c08dd287f [file] [log] [blame]
Sho SHIMIZU308a45a2014-07-23 11:27:04 -07001package net.onrc.onos.api.intent;
2
3/**
4 * An interface to handle installation and removal of a specific type of intent.
5 *
6 * @param <T> the type of intent this installer handles.
7 */
8public interface IntentInstaller<T extends Intent> {
9 /**
10 * Installs the given intent.
11 *
12 * @param intent the intent to be installed.
13 * @return true if the installation succeeds. Otherwise, false.
14 */
15 public boolean install(T intent);
16
17 /**
18 * Removes the given intent.
19 *
20 * @param intent the intent to be removed.
21 * @return true if the removal succeeds. Otherwise, false.
22 */
23 public boolean remove(T intent);
24}