5deee4679a0c2a42bd6a6649b95fb79a3a01166c
[clamp.git] / src / main / java / org / onap / clamp / clds / util / ResourceFileUtil.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP CLAMP
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                             reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License"); 
9  * you may not use this file except in compliance with the License. 
10  * You may obtain a copy of the License at
11  * 
12  * http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software 
15  * distributed under the License is distributed on an "AS IS" BASIS, 
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
17  * See the License for the specific language governing permissions and 
18  * limitations under the License.
19  * ============LICENSE_END============================================
20  * ===================================================================
21  * 
22  */
23
24 package org.onap.clamp.clds.util;
25
26 import java.io.IOException;
27 import java.io.InputStream;
28 import java.util.Scanner;
29
30 /**
31  * Utility methods supporting resources accesses.
32  */
33 public final class ResourceFileUtil {
34
35     /**
36      * Private constructor to avoid creating instances of util class.
37      */
38     private ResourceFileUtil() {
39     }
40
41     /**
42      * Return resource as a Stream.
43      *
44      * @return resource - resource as stream
45      */
46     public static InputStream getResourceAsStream(String name) {
47         InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(name);
48         if (is == null) {
49             throw new IllegalArgumentException("Unable to find resource: " + name);
50         }
51         return is;
52     }
53
54     /**
55      * Return resource as a String.
56      */
57     public static String getResourceAsString(String name) throws IOException {
58         try (InputStream is = getResourceAsStream(name)) {
59             try (Scanner scanner = new Scanner(is)) {
60                 Scanner delimitedScanner = scanner.useDelimiter("\\A");
61                 return delimitedScanner.hasNext() ? delimitedScanner.next() : "";
62             }
63         }
64     }
65 }