public abstract class ProfileRecognizer
extends java.lang.Object
Modifier | Constructor and Description |
---|---|
protected |
ProfileRecognizer() |
Modifier and Type | Method and Description |
---|---|
abstract ProfileBuilder |
createBuilder(Context context)
Create a
ProfileBuilder which can be used to build one or more
profiles for an IDE Context . |
abstract ProfileBuilder |
createBuilder(Context context,
java.lang.Class classOrIntf)
Create a
ProfileBuilder which can build profiles of the type
specified by classOrIntf , which includes any sub-class or
sub-interfaces of that type. |
static ProfileRecognizer |
getProfileRecognizer()
Get an instance of the ProfilerRecognizer.
|
abstract java.lang.Class<? extends Profile>[] |
narrow(java.lang.Class<? extends Profile>[] profiles)
Narrows a list of profiles to a smaller list that contains only those
that are distinct from each other based on their class-hierarchies.
|
abstract java.lang.Class<? extends Profile>[] |
recognize(Context ideContext)
Get the profile types that can be built for an IDE
Context . |
abstract java.lang.Class<? extends Profile>[] |
recognize(Context ideContext,
java.lang.Class classOrIntf)
Request recognition as a specific type
|
public abstract ProfileBuilder createBuilder(Context context)
ProfileBuilder
which can be used to build one or more
profiles for an IDE Context
.context
- public abstract ProfileBuilder createBuilder(Context context, java.lang.Class classOrIntf) throws ProfileException
ProfileBuilder
which can build profiles of the type
specified by classOrIntf
, which includes any sub-class or
sub-interfaces of that type.context
- classOrIntf
- the type of Profile requested.ProfileException
- if a builder for the requested type could not
be created.public abstract java.lang.Class<? extends Profile>[] recognize(Context ideContext)
Context
. This is
a convenience method for creating a builder and querying its profile classes,
and should only be used if a profile will not actually be built. If there
is any intention of building, the createBuilder(Context context)
method should be used instead.
It is possible for consecutive calls to recognize()
to return different
results with the same IDE context.
ideContext
- public abstract java.lang.Class<? extends Profile>[] recognize(Context ideContext, java.lang.Class classOrIntf) throws ProfileException
recognize(ideContext) and recognize(ideContext, Object.class)
are
similar, but the latter throws a ProfileException
if an empty
array is returned.
classOrIntf
- ideContext
- ProfileException
- if the requested type is not available in that context.public abstract java.lang.Class<? extends Profile>[] narrow(java.lang.Class<? extends Profile>[] profiles)
ProfileException
public static ProfileRecognizer getProfileRecognizer()