compact3
javax.naming.spi

## Interface Resolver

    public interface Resolver

This interface represents an "intermediate context" for name resolution.

The Resolver interface contains methods that are implemented by contexts that do not support subtypes of Context, but which can act as intermediate contexts for resolution purposes.

A `Name` parameter passed to any method is owned by the caller. The service provider will not modify the object or keep a reference to it. A `ResolveResult` object returned by any method is owned by the caller. The caller may subsequently modify it; the service provider may not.

Since:
  1.3

### Method Summary

All Methods Instance Methods Abstract Methods
`ResolveResult` `resolveToClass(Name name, Class<? extends Context> contextType)` Partially resolves a name.
`ResolveResult` `resolveToClass(String name, Class<? extends Context> contextType)` Partially resolves a name.

### Method Detail

#### resolveToClass

    ResolveResult resolveToClass(Name name,
                                 Class<? extends Context> contextType)
                          throws NamingException

Partially resolves a name. Stops at the first context that is an instance of a given subtype of `Context`.

Parameters:
  `name` - the name to resolve
  `contextType` - the type of object to resolve. This should be a subtype of `Context`.
Returns:
  the object that was found, along with the unresolved suffix of `name`. Cannot be null.
Throws:
  `NotContextException` - if no context of the appropriate type is found
  `NamingException` - if a naming exception was encountered
See Also:
  `resolveToClass(String, Class)`

#### resolveToClass

    ResolveResult resolveToClass(String name,
                                 Class<? extends Context> contextType)
                          throws NamingException

Partially resolves a name. See `resolveToClass(Name, Class)` for details.

Parameters:
  `name` - the name to resolve
  `contextType` - the type of object to resolve. This should be a subtype of `Context`.
Returns:
  the object that was found, along with the unresolved suffix of `name`. Cannot be null.
Throws:
  `NotContextException` - if no context of the appropriate type is found
  `NamingException` - if a naming exception was encountered