2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2019 AT&T Intellectual Property. All rights reserved.
6 * Copyright © 2019 Amdocs
7 * ================================================================================
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
19 * ============LICENSE_END=========================================================
21 package org.onap.aai.schemaif.definitions;
26 public class EdgeSchema {
27 protected String name;
28 protected String source;
29 protected String target;
30 protected Multiplicity multiplicity;
31 protected Map<String,String> annotations;
32 protected Map<String,PropertySchema> properties;
34 public enum Multiplicity {
41 public String getName() {
45 public String getSource() {
49 public String getTarget() {
53 public Multiplicity getMultiplicity() {
57 public PropertySchema getPropertySchema(String propName) {
58 return properties.get(propName.toLowerCase());
61 public Map<String,PropertySchema> getPropertySchemaList() {
65 public String getAnnotationValue(String annotation) {
66 return annotations.get(annotation.toLowerCase());
69 public Map<String,String> getAnnotations() {
74 public int hashCode() {
75 String key = source + target + name;
76 return key.hashCode();
80 public boolean equals(Object obj) {
85 if (getClass() != obj.getClass()) {
89 EdgeSchema other = (EdgeSchema) obj;
91 if ( (!source.equals(other.getSource())) || (!target.equals(other.getTarget())) || (!name.equals(other.getName())) ) {
98 public String toString() {
99 StringBuilder sb = new StringBuilder();
100 sb.append("edge: " + getSource() + " -> " + getTarget() + "\n");
101 sb.append(" type: " + getName() + "\n");
102 sb.append(" multiplicity: " + getMultiplicity() + "\n");
104 sb.append(" annotations: " + "\n");
105 for (String annotation : annotations.keySet()) {
106 sb.append(" " + annotation + ": " + annotations.get(annotation) + "\n");
108 sb.append(" properties: " + "\n");
109 for (PropertySchema attrSchema : getPropertySchemaList().values()) {
110 sb.append(attrSchema.toString());
113 return sb.toString();