Implementing the UiLayoutManager.
Change-Id: I0a3424f7e3b13a3c18e668a5eed5151755bce4f9
diff --git a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
index 0aa7db0..989c807 100644
--- a/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
+++ b/core/api/src/main/java/org/onosproject/ui/UiTopoLayoutService.java
@@ -16,8 +16,9 @@
package org.onosproject.ui;
import org.onosproject.ui.model.topo.UiTopoLayout;
+import org.onosproject.ui.model.topo.UiTopoLayoutId;
-import java.util.List;
+import java.util.Set;
/**
* Service for managing {@link UiTopoLayout} instances.
@@ -25,20 +26,28 @@
public interface UiTopoLayoutService {
/**
- * Returns the list of available layouts.
+ * Returns the set of available layouts.
*
- * @return available layouts
+ * @return set of available layouts
*/
- List<UiTopoLayout> getLayouts();
+ Set<UiTopoLayout> getLayouts();
/**
- * Adds a layout to the system.
+ * Adds a layout to the system or updates an existing one.
*
- * @param layout the layout to add
+ * @param layout the layout to add or update
* @return an indication of success
*/
boolean addLayout(UiTopoLayout layout);
+
+ /**
+ * Returns the layout with the specified identifier.
+ * @param layoutId layout identifier
+ * @return layout or null if no such layout is found
+ */
+ UiTopoLayout getLayout(UiTopoLayoutId layoutId);
+
/**
* Removes a layout from the system.
*