1 package org.apache.onami.autobind.configuration; 2 3 /* 4 * Licensed to the Apache Software Foundation (ASF) under one or more 5 * contributor license agreements. See the NOTICE file distributed with 6 * this work for additional information regarding copyright ownership. 7 * The ASF licenses this file to You under the Apache License, Version 2.0 8 * (the "License"); you may not use this file except in compliance with 9 * the License. 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 */ 19 20 import static org.apache.onami.autobind.configuration.PathConfig.PathType.CLASSPATH; 21 22 import java.lang.annotation.Documented; 23 24 @Documented 25 public @interface PathConfig 26 { 27 28 String value(); 29 30 PathType type() default CLASSPATH; 31 32 public static enum PathType 33 { 34 35 /** 36 * Use the Classloader to fetch the Configuration 37 */ 38 CLASSPATH, 39 40 /** 41 * Tries to load the Configuration from a File. Can be absolute or relative. Relative to the the Path of 42 * ClassLoader.getResources("/"). 43 */ 44 FILE, 45 46 /** 47 * Can be each Kind of URL. file:/, classpath:/, http:// 48 */ 49 URL 50 51 } 52 53 }