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 (obj == null || getClass() != obj.getClass()) {
89 EdgeSchema other = (EdgeSchema) obj;
91 return (source.equals(other.getSource()))
92 && (target.equals(other.getTarget()))
93 && (name.equals(other.getName()));
96 public String toString() {
97 StringBuilder sb = new StringBuilder();
98 sb.append("edge: " + getSource() + " -> " + getTarget() + "\n");
99 sb.append(" type: " + getName() + "\n");
100 sb.append(" multiplicity: " + getMultiplicity() + "\n");
102 sb.append(" annotations: " + "\n");
103 for (Map.Entry<String, String> entry : annotations.entrySet()) {
104 sb.append(" " + entry.getKey() + ": " + entry.getValue() + "\n");
106 sb.append(" properties: " + "\n");
107 for (PropertySchema attrSchema : getPropertySchemaList().values()) {
108 sb.append(attrSchema.toString());
111 return sb.toString();