summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-03-01 20:43:51 -0500
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-03-01 20:43:51 -0500
commit120ac7034bcfa91a02b1b68c0507fd3ef80a0cfa (patch)
tree0993dee8c50638561e8a5bce18d86dcd9842e0ec /BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
parentdf852b8a67f4b8f1c3e6f89d8c3630e678c49c14 (diff)
Implemented support for component-based shenanigans.
By default, only a source for retrieving components from streams is implemented
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java35
1 files changed, 35 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java b/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
new file mode 100644
index 0000000..a326a78
--- /dev/null
+++ b/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
@@ -0,0 +1,35 @@
+package bjc.utils.components;
+
+import java.util.Map;
+
+import bjc.utils.funcdata.FunctionalList;
+
+/**
+ * A collection of implementations of {@link IDescribedComponent}
+ *
+ * @author ben
+ *
+ */
+public interface IComponentRepository<E extends IDescribedComponent> {
+ /**
+ * Get a list of all the registered componets
+ *
+ * @return A list of all the registered components
+ */
+ public FunctionalList<E> getComponentList();
+
+ /**
+ * Get all of the components this repository knows about
+ *
+ * @return A map from component name to component, containing all of
+ * the components in the repositorys
+ */
+ public Map<String, E> getComponents();
+
+ /**
+ * Get the source from which these components came
+ *
+ * @return The source from which these components came
+ */
+ public String getSource();
+}