2 * Copyright © 2016-2018 European Support Limited
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation;
19 import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType;
21 import java.util.Optional;
23 public class ConsolidationData {
25 private final ComputeConsolidationData computeConsolidationData;
26 private final ComputeConsolidationDataHandler computeConsolidationDataHandler;
28 private final PortConsolidationData portConsolidationData;
29 private final PortConsolidationDataHandler portConsolidationDataHandler;
30 private final SubInterfaceConsolidationDataHandler subInterfaceConsolidationDataHandler;
32 private NestedConsolidationData nestedConsolidationData;
33 private final NestedConsolidationDataHandler nestedConsolidationDataHandler;
35 public ConsolidationData() {
37 computeConsolidationData = new ComputeConsolidationData();
38 computeConsolidationDataHandler = new ComputeConsolidationDataHandler(computeConsolidationData);
40 portConsolidationData = new PortConsolidationData();
41 portConsolidationDataHandler = new PortConsolidationDataHandler(portConsolidationData);
42 subInterfaceConsolidationDataHandler = new SubInterfaceConsolidationDataHandler(portConsolidationData);
44 nestedConsolidationData = new NestedConsolidationData();
45 nestedConsolidationDataHandler = new NestedConsolidationDataHandler(nestedConsolidationData);
50 * Get Consolidation data handler by entity type.
52 * @return If there is no consolidation handler for a type, return an empty {@link Optional}.
54 public Optional<ConsolidationDataHandler> getConsolidationDataHandler(ConsolidationEntityType type) {
58 return Optional.of(getComputeConsolidationDataHandler());
60 return Optional.of(getPortConsolidationDataHandler());
62 return Optional.of(getSubInterfaceConsolidationDataHandler());
65 return Optional.of(getNestedConsolidationDataHandler());
67 return Optional.empty();
71 public ComputeConsolidationDataHandler getComputeConsolidationDataHandler() {
72 return computeConsolidationDataHandler;
75 public PortConsolidationDataHandler getPortConsolidationDataHandler() {
76 return portConsolidationDataHandler;
79 public NestedConsolidationDataHandler getNestedConsolidationDataHandler() {
80 return nestedConsolidationDataHandler;
83 public SubInterfaceConsolidationDataHandler getSubInterfaceConsolidationDataHandler() {
84 return subInterfaceConsolidationDataHandler;
87 public ComputeConsolidationData getComputeConsolidationData() {
88 return computeConsolidationData;
91 public PortConsolidationData getPortConsolidationData() {
92 return portConsolidationData;
95 public NestedConsolidationData getNestedConsolidationData() {
96 return nestedConsolidationData;
99 public void setNestedConsolidationData(NestedConsolidationData nestedConsolidationData) {
100 this.nestedConsolidationData = nestedConsolidationData;