diff options
Diffstat (limited to 'common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/SchemaDefinition.java')
-rw-r--r-- | common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/SchemaDefinition.java | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/SchemaDefinition.java b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/SchemaDefinition.java new file mode 100644 index 0000000000..3845a706b1 --- /dev/null +++ b/common-be/src/main/java/org/openecomp/sdc/be/datatypes/elements/SchemaDefinition.java @@ -0,0 +1,139 @@ +/*- + * ============LICENSE_START======================================================= + * SDC + * ================================================================================ + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.openecomp.sdc.be.datatypes.elements; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +/** + * Schema allows to create new types that can be used along TOSCA definitions. + */ +public class SchemaDefinition implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 7117891081909380577L; + + private String derivedFrom; + private List<String> constraints; + private Map<String, PropertyDataDefinition> properties; + + private PropertyDataDefinition property; + + public SchemaDefinition() { + + } + + public SchemaDefinition(String derivedFrom, List<String> constraints, + Map<String, PropertyDataDefinition> properties) { + this.derivedFrom = derivedFrom; + this.constraints = constraints; + this.properties = properties; + } + + public String getDerivedFrom() { + return derivedFrom; + } + + public void setProperty(PropertyDataDefinition property) { + this.property = property; + } + + public PropertyDataDefinition getProperty() { + return this.property; + } + + public void setDerivedFrom(String derivedFrom) { + this.derivedFrom = derivedFrom; + } + + public List<String> getConstraints() { + return constraints; + } + + public void setConstraints(List<String> constraints) { + this.constraints = constraints; + } + + public Map<String, PropertyDataDefinition> getProperties() { + return properties; + } + + public void setProperties(Map<String, PropertyDataDefinition> properties) { + this.properties = properties; + } + + public void addProperty(String key, PropertyDataDefinition property) { + + properties.put(key, property); + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((constraints == null) ? 0 : constraints.hashCode()); + result = prime * result + ((derivedFrom == null) ? 0 : derivedFrom.hashCode()); + result = prime * result + ((properties == null) ? 0 : properties.hashCode()); + result = prime * result + ((property == null) ? 0 : property.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SchemaDefinition other = (SchemaDefinition) obj; + if (constraints == null) { + if (other.constraints != null) + return false; + } else if (!constraints.equals(other.constraints)) + return false; + if (derivedFrom == null) { + if (other.derivedFrom != null) + return false; + } else if (!derivedFrom.equals(other.derivedFrom)) + return false; + if (properties == null) { + if (other.properties != null) + return false; + } else if (!properties.equals(other.properties)) + return false; + if (property == null) { + if (other.property != null) + return false; + } else if (!property.equals(other.property)) + return false; + return true; + } + + @Override + public String toString() { + return "SchemaDefinition [" + "derivedFrom='" + derivedFrom + ", constraints=" + constraints + ", properties=" + + properties + ", property=" + property + ']'; + } +} |