diff options
Diffstat (limited to 'catalog-be/src/main/java/org/openecomp/sdc/be/components/property/PropertyDecelerator.java')
-rw-r--r-- | catalog-be/src/main/java/org/openecomp/sdc/be/components/property/PropertyDecelerator.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/PropertyDecelerator.java b/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/PropertyDecelerator.java new file mode 100644 index 0000000000..9255763f2c --- /dev/null +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/components/property/PropertyDecelerator.java @@ -0,0 +1,30 @@ +package org.openecomp.sdc.be.components.property; + +import fj.data.Either; +import org.openecomp.sdc.be.model.Component; +import org.openecomp.sdc.be.model.ComponentInstancePropInput; +import org.openecomp.sdc.be.model.InputDefinition; +import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus; + +import java.util.List; + +public interface PropertyDecelerator { + + /** + * creates a list of inputs from the given list of properties and updates the properties accordingly + * @param component the container + * @param propertiesOwnerId the id of the owner of the properties to declare (e.g ComponentInstance, Policy, Group etc) + * @param propsToDeclare the list of properties that are being declared as inputs + * @return the list of inputs that were created from the given properties + */ + Either<List<InputDefinition>, StorageOperationStatus> declarePropertiesAsInputs(Component component, String propertiesOwnerId, List<ComponentInstancePropInput> propsToDeclare); + + /** + * returns the values of declared properties to each original state before it was declared as an input. + * this function is to be called when an input, that was created by declaring a property, is deleted. + * @param component the container of the input to be deleted + * @param input the input to be deleted + */ + StorageOperationStatus unDeclarePropertiesAsInputs(Component component, InputDefinition input); + +} |