1e4e9c0fccbafe4ecfdc4ddb68f9de37671a2f28
[aaf/authz.git] / cadi / aaf / src / main / java / org / onap / aaf / cadi / aaf / v2_0 / AAFSingleLocator.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
4  * ===========================================================================
5  * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6  * ===========================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END====================================================
19  */
20
21 package org.onap.aaf.cadi.aaf.v2_0;
22
23 import java.net.URI;
24 import java.net.URISyntaxException;
25
26 import org.onap.aaf.cadi.Locator;
27 import org.onap.aaf.cadi.LocatorException;
28 import org.onap.aaf.misc.env.impl.BasicTrans;
29
30 /**
31  * This Locator good for using Inside Docker or K8s, where there is no real lookup, 
32  * and there is conflict between external and internal host names, due to 
33  * Service abstraction.
34  * 
35  * @author Instrumental(Jonathan)
36  *
37  */
38 public class AAFSingleLocator implements Locator<URI> {
39         
40         private final URI uri;
41
42         /**
43          * NS here is "container" ns.  AAF NS is assumed to be AAF_NS at this level of client code.
44          * @param cont_ns
45          * @param prefix
46          * @param version
47          * @throws URISyntaxException 
48          */
49         public AAFSingleLocator(final String uri) throws URISyntaxException {
50                 this.uri = new URI(uri);
51         }
52         
53         @Override
54         public URI get(Item item) throws LocatorException {
55                 return uri;
56         }
57
58         @Override
59         public boolean hasItems() {
60                 return true;
61         }
62
63         @Override
64         public void invalidate(Item item) throws LocatorException {
65         }
66
67         @Override
68         public Item best() throws LocatorException {
69                 return new SingleItem();
70         }
71
72         @Override
73         public Item first() throws LocatorException {
74                 return new SingleItem();
75         }
76
77         @Override
78         public Item next(Item item) throws LocatorException {
79                 return null; // only one item
80         }
81
82         @Override
83         public boolean refresh() {
84                 return false;
85         }
86
87         @Override
88         public void destroy() {
89         }
90         
91         private class SingleItem implements Item {
92         }
93 }