// DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. // // Copyright 2016-2018 Pascal ECHEMANN. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import {Bean} from "./Bean"; import {Member, Parameter} from "jec-commons"; /** * Provides access to metadata about an injection point in the JDI * specification. */ export interface InjectionPoint { /** * Get the Bean object representing the bean that defines the * injection point. * * @return {Bean} the bean that defines the injection point. */ getBean():Bean; /** * Get the required type of injection point. * * @return {any} the required type of injection point. */ getType():any; /** * Get the Member, or Parameter object that defines * the element where this injection point is declared. * * @return {Member|Parameter} the Member, or * Parameter object that defines the * element where this injection point is declared. */ getElement():Member|Parameter; /** * Returns the full name of the class that defines the injection point. * * @return {string} the full name of the class that defines this injection * point. */ getQualifiedClassName():string; /** * Returns the name reference to a bean that have to be associated with the * injection point. * * @return {string} the name reference to a bean associated with this * injection point. */ getRef():string; /** * Obtains the qualifiers defined for this injection point. * * @return {Array} the qualifiers defined for this injection point. */ getQualifiers():Array; };