public interface Recognizer
BuilderContext
and returns a Profile type that can be created in that context.Modifier and Type | Method and Description |
---|---|
AbstractBuilder |
recognize(Element element, BuilderContext context, java.lang.Class classOrIntf)
Recognize the context and return one or more
Builder s that can create Profile s for the context. |
AbstractBuilder recognize(Element element, BuilderContext context, java.lang.Class classOrIntf)
Builder
s that can create Profile
s for the context.
Each builder can create an instance of a particular Profile
class as specified by Builder.getProfileClass()
. Return null or empty array if Element is not recognized, or even if it is recognized but cannot be constructed in the given context.
The recognizer should be optimized to return null, if requested type is not assignable to the Profile
class that this recognizer knows about.
AbstractBuilder recognize(Element e, BuilderContext c, Class c) { if (! c.isAssignableFrom(MyProfile.class) { return null; } }
element
- the Element to recognize.context
- the context under which it should be recognized. The IDE context is available within this.classOrIntf
- the class or interface type that is specifically requested. The constructed builder should be capable of creating an instace of this type or one of its sub-types. Guaranteed not null, the default is Object.class
.Builder
that may be called by the client to create a Profile.