38359052bb979f3de92e9f126ec8613aacaf1f70
[policy/apex-pdp.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2016-2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.model.basicmodel.handling;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
27 import org.onap.policy.apex.model.basicmodel.concepts.AxKey;
28 import org.onap.policy.apex.model.basicmodel.concepts.AxModel;
29 import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
30
31 public class AxModelWithReferences extends AxModel {
32     private static final long serialVersionUID = -8194956638511120008L;
33
34     private List<AxKey> extraKeyList = new ArrayList<>();
35     
36     public AxModelWithReferences(final AxArtifactKey key) {
37         super(key);
38     }
39     
40     @Override
41     public List<AxKey> getKeys() {
42         List<AxKey> keys = super.getKeys();
43         keys.addAll(extraKeyList);
44
45         return keys;
46     }
47
48     public List<AxKey> getExtraKeyList() {
49         return extraKeyList;
50     }
51
52     public void setReferenceKeyList() {
53         List<AxKey> keys = super.getKeys();
54         
55         for (AxKey key: keys) {
56             AxArtifactKey aKey = (AxArtifactKey)key;
57             AxReferenceKey keyRef = new AxReferenceKey(aKey, aKey.getName());
58             extraKeyList.add(keyRef);
59         }
60     }
61     
62     public void addKey(final AxKey aKey) {
63         extraKeyList.add(aKey);
64     }
65     
66     public void removeKey(final AxKey aKey) {
67         extraKeyList.remove(aKey);
68     }
69 }