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 java.util.Optional;
20 import org.openecomp.sdc.translator.services.heattotosca.ConsolidationEntityType;
22 public class ConsolidationData {
24 private ComputeConsolidationData computeConsolidationData;
25 private final ComputeConsolidationDataHandler computeConsolidationDataHandler;
27 private PortConsolidationData portConsolidationData;
28 private final PortConsolidationDataHandler portConsolidationDataHandler;
29 private final SubInterfaceConsolidationDataHandler subInterfaceConsolidationDataHandler;
31 private NestedConsolidationData nestedConsolidationData;
32 private final NestedConsolidationDataHandler nestedConsolidationDataHandler;
34 public ConsolidationData() {
36 computeConsolidationData = new ComputeConsolidationData();
37 computeConsolidationDataHandler = new ComputeConsolidationDataHandler(computeConsolidationData);
39 portConsolidationData = new PortConsolidationData();
40 portConsolidationDataHandler = new PortConsolidationDataHandler(portConsolidationData);
41 subInterfaceConsolidationDataHandler = new SubInterfaceConsolidationDataHandler(portConsolidationData);
43 nestedConsolidationData = new NestedConsolidationData();
44 nestedConsolidationDataHandler = new NestedConsolidationDataHandler(nestedConsolidationData);
49 * Get Consolidation data handler by entity type.
51 * @return If there is no consolidation handler for a type, return an empty {@link Optional}.
53 public Optional<ConsolidationDataHandler> getConsolidationDataHandler(ConsolidationEntityType type) {
57 return Optional.of(getComputeConsolidationDataHelper());
59 return Optional.of(getPortConsolidationDataHandler());
61 return Optional.of(getSubInterfaceConsolidationDataHandler());
64 return Optional.of(getNestedConsolidationDataHandler());
66 return Optional.empty();
70 public ComputeConsolidationDataHandler getComputeConsolidationDataHelper() {
71 return computeConsolidationDataHandler;
74 public PortConsolidationDataHandler getPortConsolidationDataHandler() {
75 return portConsolidationDataHandler;
78 public NestedConsolidationDataHandler getNestedConsolidationDataHandler() {
79 return nestedConsolidationDataHandler;
82 public SubInterfaceConsolidationDataHandler getSubInterfaceConsolidationDataHandler() {
83 return subInterfaceConsolidationDataHandler;
87 * Gets compute consolidation data.
89 * @return the compute consolidation data
91 public ComputeConsolidationData getComputeConsolidationData() {
92 return computeConsolidationData;
96 * Sets compute consolidation data.
98 * @param computeConsolidationData the compute consolidation data
100 public void setComputeConsolidationData(ComputeConsolidationData computeConsolidationData) {
101 this.computeConsolidationData = computeConsolidationData;
105 * Gets port consolidation data.
107 * @return the port consolidation data
109 public PortConsolidationData getPortConsolidationData() {
110 return portConsolidationData;
114 * Sets port consolidation data.
116 * @param portConsolidationData the port consolidation data
118 public void setPortConsolidationData(PortConsolidationData portConsolidationData) {
119 this.portConsolidationData = portConsolidationData;
123 * Gets nested consolidation data.
125 * @return the nested consolidation data
127 public NestedConsolidationData getNestedConsolidationData() {
128 return nestedConsolidationData;
132 * Sets nested consolidation data.
134 * @param nestedConsolidationData the nested consolidation data
136 public void setNestedConsolidationData(NestedConsolidationData nestedConsolidationData) {
137 this.nestedConsolidationData = nestedConsolidationData;