5da344303f9bb4c6dc12e27f31ff16ad2be7ee23
[dcaegen2/services/sdk.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * DCAEGEN2-SERVICES-SDK
4  * ================================================================================
5  * Copyright (C) 2020 Nokia. 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.dcaegen2.services.sdk.services.external.schema.manager.model;
22
23 import org.onap.dcaegen2.services.sdk.services.external.schema.manager.service.SchemaReferenceResolver;
24
25 public class SchemaReference {
26
27     public static final String URL_SEPARATOR = "#";
28
29     private final String url;
30     private final String internalReference;
31
32     public SchemaReference(SchemaReferenceResolver schemaReferenceResolver) {
33         this.url = schemaReferenceResolver.resolveUrl();
34         this.internalReference = schemaReferenceResolver.resolveInternalReference();
35     }
36
37     public SchemaReference(String url, String internalReference) {
38         this.url = url;
39         this.internalReference = internalReference;
40     }
41
42     public String getUrl() {
43         return url;
44     }
45
46     public String getInternalReference() {
47         return internalReference;
48     }
49
50     /**
51      * Creates full schema reference as <path to yaml file>#<reference to part of yaml file with specific schema>
52      *
53      * @return <path to yaml file>#<reference to part of yaml file with specific schema>
54      */
55     public String getFullSchemaReference() {
56         return url + URL_SEPARATOR + internalReference;
57     }
58 }