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  
Builders that can create Profiles 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)
RecognizerBuilders that can create Profiles 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 Recognizerelement - 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)