summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/components
diff options
context:
space:
mode:
authorbculkin2442 <bjculkin@mix.wvu.edu>2016-04-08 13:28:09 -0400
committerbculkin2442 <bjculkin@mix.wvu.edu>2016-04-08 13:28:09 -0400
commit275a627719fc2231b16caea41130ff09f0f2b6a1 (patch)
tree757e8ca2061ba6ed9b2063f7155edbe954b72bdb /BJC-Utils2/src/main/java/bjc/utils/components
parent79d3a4a47cbc1fcf17c77c6fc12ff826a3077bac (diff)
Switch functional data to use interfaces
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/components')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/components/FileComponentRepository.java16
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java9
2 files changed, 13 insertions, 12 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/components/FileComponentRepository.java b/BJC-Utils2/src/main/java/bjc/utils/components/FileComponentRepository.java
index 4aea0d6..37c94f6 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/components/FileComponentRepository.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/components/FileComponentRepository.java
@@ -2,14 +2,15 @@ package bjc.utils.components;
import java.io.File;
import java.nio.file.Path;
-import java.util.HashMap;
-import java.util.Map;
import java.util.function.Function;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import bjc.utils.funcdata.FunctionalList;
+import bjc.utils.funcdata.FunctionalMap;
+import bjc.utils.funcdata.IFunctionalList;
+import bjc.utils.funcdata.IFunctionalMap;
/**
* A component repository that loads its components from files in a
@@ -29,7 +30,7 @@ public class FileComponentRepository<E extends IDescribedComponent>
/**
* The internal storage of components
*/
- private Map<String, E> components;
+ private IFunctionalMap<String, E> components;
/**
* The path that all the components came from
@@ -57,7 +58,8 @@ public class FileComponentRepository<E extends IDescribedComponent>
+ "Components can only be read from a directory");
}
- components = new HashMap<>();
+ components = new FunctionalMap<>();
+
sourceDirectory = directory.toPath().toAbsolutePath();
File[] listFiles = directory.listFiles();
@@ -100,8 +102,8 @@ public class FileComponentRepository<E extends IDescribedComponent>
}
@Override
- public FunctionalList<E> getComponentList() {
- FunctionalList<E> returnedList = new FunctionalList<>();
+ public IFunctionalList<E> getComponentList() {
+ IFunctionalList<E> returnedList = new FunctionalList<>();
components
.forEach((name, component) -> returnedList.add(component));
@@ -110,7 +112,7 @@ public class FileComponentRepository<E extends IDescribedComponent>
}
@Override
- public Map<String, E> getComponents() {
+ public IFunctionalMap<String, E> getComponents() {
return components;
}
diff --git a/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java b/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
index 135e609..c720015 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/components/IComponentRepository.java
@@ -1,8 +1,7 @@
package bjc.utils.components;
-import java.util.Map;
-
-import bjc.utils.funcdata.FunctionalList;
+import bjc.utils.funcdata.IFunctionalList;
+import bjc.utils.funcdata.IFunctionalMap;
/**
* A collection of implementations of {@link IDescribedComponent}
@@ -18,7 +17,7 @@ public interface IComponentRepository<E extends IDescribedComponent> {
*
* @return A list of all the registered components
*/
- public FunctionalList<E> getComponentList();
+ public IFunctionalList<E> getComponentList();
/**
* Get all of the components this repository knows about
@@ -26,7 +25,7 @@ public interface IComponentRepository<E extends IDescribedComponent> {
* @return A map from component name to component, containing all of
* the components in the repositories
*/
- public Map<String, E> getComponents();
+ public IFunctionalMap<String, E> getComponents();
/**
* Get a component with a specific name