* limitations under the License.
* ============LICENSE_END=========================================================
*/
-
package org.openecomp.sdc.be.model;
-import com.fasterxml.jackson.annotation.JsonIgnore;
+import java.util.Map;
+import java.util.stream.Collectors;
+
import org.apache.commons.collections.MapUtils;
import org.openecomp.sdc.be.datatypes.elements.InterfaceDataDefinition;
import org.openecomp.sdc.be.datatypes.elements.OperationDataDefinition;
-import java.util.Map;
-import java.util.stream.Collectors;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
/**
- * Definition of the operations that can be performed on (instances of) a Node
- * Type.
+ * Definition of the operations that can be performed on (instances of) a Node Type.
*
* @author esofer
*/
+@NoArgsConstructor
public class InterfaceDefinition extends InterfaceDataDefinition implements IOperationParameter {
- private boolean definition;
-
- public InterfaceDefinition() {
- super();
- }
+ @Getter
+ @Setter
+ private String model;
public InterfaceDefinition(String type, String description, Map<String, Operation> operations) {
super(type, description);
return false;
}
- public void setDefinition(boolean definition) {
- this.definition = definition;
- }
-
@JsonIgnore
public Map<String, Operation> getOperationsMap() {
- return getOperations().entrySet()
- .stream()
- .collect(Collectors.toMap(Map.Entry::getKey, e -> new Operation(e
- .getValue())));
+ return getOperations().entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e -> new Operation(e.getValue())));
}
@JsonIgnore
if (MapUtils.isEmpty(operations)) {
return;
}
- final Map<String, OperationDataDefinition> convertedOperation = operations.entrySet()
- .stream()
+ final Map<String, OperationDataDefinition> convertedOperation = operations.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getKey, e -> new OperationDataDefinition(e.getValue())));
setOperations(convertedOperation);
}
- @Override
- public String toString() {
- return "InterfaceDefinition [definition=" + definition + "]";
+ /**
+ * Checks if the interface has the given operation
+ *
+ * @param operation the operation to check
+ * @return {@code true} if the operation exists, {@code false} otherwise
+ */
+ public boolean hasOperation(final String operation) {
+ final Map<String, OperationDataDefinition> operationMap = getOperations();
+ if (MapUtils.isEmpty(operationMap)) {
+ return false;
+ }
+ return operationMap.keySet().stream().anyMatch(operation1 -> operation1.equalsIgnoreCase(operation));
}
-
}