public abstract class AbstractRecognizer<Profile> extends java.lang.Object implements Recognizer
Modifier and Type | Field and Description |
---|---|
protected java.lang.Class<? extends Profile> |
profileClass_ |
Constructor and Description |
---|
AbstractRecognizer(java.lang.Class<? extends Profile> profileClass) |
Modifier and Type | Method and Description |
---|---|
java.lang.Class<? extends Profile> |
getProfileClass() |
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. |
protected abstract AbstractBuilder |
recognizeImpl(Element element,
BuilderContext context,
java.lang.Class classOrIntf) |
protected final java.lang.Class<? extends Profile> profileClass_
public AbstractRecognizer(java.lang.Class<? extends Profile> profileClass)
public java.lang.Class<? extends Profile> getProfileClass()
public AbstractBuilder recognize(Element element, BuilderContext context, java.lang.Class classOrIntf)
Recognizer
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; } }
recognize
in interface Recognizer
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.protected abstract AbstractBuilder recognizeImpl(Element element, BuilderContext context, java.lang.Class classOrIntf)