// 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 {Scope} from "../context/Scope"; import {InjectionPoint} from "./InjectionPoint"; /** * Represents a bean in the JDI specification. */ export interface Bean { /** * Obtains the scope of the bean. * * @return {Scope} the scope of the bean. */ getScope():Scope; /** * Obtains the name of the bean, if it has one. * * @return {string} the name of the bean, or null. */ getName():string; /** * Obtains the bean class of this bean. * * @return {any} the bean class of this bean. */ getBeanClass():any; /** * Obtains the bean types of the bean. * * @return {Set} the bean types of the bean. */ getTypes():Set; /** * Returns the full name of the bean class. */ getQualifiedClassName():string; /** * Returns an array that contains all InjectionPoint objects for * this bean. * * @return {Array} all InjectionPoint objects for * this bean. */ getInjectionPoints():Array; };