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.