@@ -0,0 +1,1306 @@
+/*%0A *  Copyright 2016 __0x277F %3C0x277F@gmail.com%3E%0A *  and other copyright owners as documented in the project's IP log.%0A *%0A *  Licensed under the Apache License, Version 2.0 (the %22License&quot%EF%BF%BC;%0A *  you may not use this file except in compliance with the License.%0A *  You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *  Unless required by applicable law or agreed to in writing, software%0A *  distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *  See the License for the specific language governing permissions and%0A *  limitations under the License.%0A *%0A */%0A%0Apackage org.basinmc.faucet.plugin;%0A%0Aimport java.lang.annotation.ElementType;%0Aimport java.lang.annotation.Retention;%0Aimport java.lang.annotation.RetentionPolicy;%0Aimport java.lang.annotation.Target;%0A%0A/**%0A * Annotates a field to be injected with a reference to a specific instance of%0A * a class at startup. Only specific types can be chosen, and an incorrect field%0A * will throw an exception at runtime.%0A */%0A@Retention(RetentionPolicy.RUNTIME)%0A@Target(ElementType.FIELD)%0Apublic @interface Instance %7B%0A    /**%0A     * The type to create a reference to.%0A     * @return A class type%0A     */%0A    Class%3C?%3E value();%0A%7D%0A

Add instance annotation