Interface DefinitionResolver
-
public interface DefinitionResolverThis interface is used to determine the "best match" managed object definition in a definition hierarchy.Managed object definitions, like Java classes, are arranged in an inheritance hierarchy. When managed objects are decoded (e.g. from LDAP entries), the driver implementation is provided with an "expected managed object definition". However, the actual decoded managed object is often an instance of a sub-type of this definition. For example, when decoding a connection handler managed object, the actual type can never be a connection handler because it is an abstract managed object type. Instead, the decoded managed object must be a "concrete" sub-type: an LDAP connection handler or JMX connection handler.
This resolution process is coordinated by the
resolveManagedObjectDefinitionmethod in managed object definitions, where it is passed aDefinitionResolverimplementation. TheresolveManagedObjectDefinitionmethod takes care of recursively descending through the definition hierarchy and invokes thematches(AbstractManagedObjectDefinition)method against each potential sub-type. It is the job of the resolver to indicate whether the provided managed object definition is a candidate definition. For example, the LDAP driver provides a definition resolver which uses the decoded LDAP entry's object classes to determine the final appropriate managed object definition.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanmatches(AbstractManagedObjectDefinition<?,?> d)Determines whether the provided managed object definition matches this resolver's criteria.
-
-
-
Method Detail
-
matches
boolean matches(AbstractManagedObjectDefinition<?,?> d)
Determines whether the provided managed object definition matches this resolver's criteria.- Parameters:
d- The managed object definition.- Returns:
- Returns
trueif the the provided managed object definition matches this resolver's criteria.
-
-