import java.util.List;\r
\r
/** Registry where the whole structure is stored. */\r
-public interface StructureRegistry {\r
+public interface StructureRegistry<P extends StructurePath> {\r
/** Read mode: the structure is only read. */\r
public static String READ = "READ";\r
/** All mode: everything is executed regardless of the active paths. */\r
public static String ACTIVE = "STATUS_ACTIVE";\r
\r
/** Adds an element to the registry. */\r
- public void register(StructurePath path, StructureElement element);\r
+ public void register(P path, StructureElement element);\r
\r
/** Lists <b>all</b> registered elements. */\r
public List<StructureElement> listElements();\r
\r
/** Lists <b>all</b> registered elements. */\r
- public List<StructurePath> listPaths();\r
+ public List<P> listPaths();\r
\r
/** Gets a element based on its path. */\r
- public StructureElement getElement(StructurePath path);\r
+ public <T extends StructureElement> T getElement(P path);\r
\r
/**\r
* Set the interpreter mode: read, all or active.\r
* Gets the list of active paths, which will be run if executed in\r
* <code>STATUS_ACTIVE</code> mode.\r
*/\r
- public List<StructurePath> getActivePaths();\r
+ public List<P> getActivePaths();\r
\r
/**\r
* Sets the list of active path, which will be run if executed in\r
* <code>STATUS_ACTIVE</code> mode.\r
*/\r
- public void setActivePaths(List<StructurePath> activePaths);\r
+ public void setActivePaths(List<P> activePaths);\r
}\r