diff options
Diffstat (limited to 'src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java')
-rw-r--r-- | src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java new file mode 100644 index 0000000..c7fdd33 --- /dev/null +++ b/src/main/java/org/onap/aai/graphgraph/reader/SchemaRepository.java @@ -0,0 +1,25 @@ +package org.onap.aai.graphgraph.reader; + +import java.util.List; +import java.util.Optional; +import java.util.stream.Collectors; + +public class SchemaRepository { + private List<SchemaReader> readers; + + public SchemaRepository(List<SchemaReader> readers) { + this.readers = readers; + } + + public List<String> getAllSchemaNames(){ + return readers.stream().map(SchemaReader::getSchemaName).collect(Collectors.toList()); + } + + public SchemaReader getSchemaReader(String schemaName){ + Optional<SchemaReader> reader = readers.stream().filter(r -> schemaName.equals(r.getSchemaName())).findFirst(); + if(!reader.isPresent()) + throw new IllegalArgumentException("Schema " + schemaName + " not found"); + + return reader.get(); + } +} |