diff options
Diffstat (limited to 'src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetailsFactory.java')
-rw-r--r-- | src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetailsFactory.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetailsFactory.java b/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetailsFactory.java new file mode 100644 index 0000000..65968b8 --- /dev/null +++ b/src/main/java/org/onap/sdc/tosca/parser/elements/EntityDetailsFactory.java @@ -0,0 +1,30 @@ +package org.onap.sdc.tosca.parser.elements; + +import org.onap.sdc.tosca.parser.enums.EntityTemplateType; +import org.onap.sdc.toscaparser.api.EntityTemplate; +import org.onap.sdc.toscaparser.api.NodeTemplate; + +public class EntityDetailsFactory { + + private EntityDetailsFactory(){} + + //TODO: the parent should be retrieved from the entityTemplate and not passed as a separate parameter + public static EntityDetails createEntityDetails(EntityTemplateType entityTemplateType, EntityTemplate entityTemplate, NodeTemplate parent) { + EntityDetails entityDetails = null; + if (entityTemplate != null) { + switch (entityTemplateType) { + case NODE_TEMPLATE: + entityDetails = new NodeTemplateEntityDetails(entityTemplate, parent); + break; + case POLICY: + entityDetails = new PolicyEntityDetails(entityTemplate, parent); + break; + case GROUP: + entityDetails = new GroupEntityDetails(entityTemplate, parent); + break; + } + } + return entityDetails; + } + +} |