Module java.naming
Package javax.naming.directory

# Class SearchResult

java.lang.Object
javax.naming.NameClassPair
javax.naming.Binding
javax.naming.directory.SearchResult

All Implemented Interfaces:
  `Serializable`

public class SearchResult extends Binding
This class represents an item in the NamingEnumeration returned as a result of the DirContext.search() methods.

A SearchResult instance is not synchronized against concurrent multithreaded access. Multiple threads trying to access and modify a single SearchResult instance should lock the object.

Since:
  1.3
See Also:
  - `DirContext.search(javax.naming.Name, javax.naming.directory.Attributes, java.lang.String[])`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SearchResult(String name, Object obj, Attributes attrs)`
Constructs a search result using the result's name, its bound object, and its attributes.
`SearchResult(String name, Object obj, Attributes attrs, boolean isRelative)`
Constructs a search result using the result's name, its bound object, and its attributes, and whether the name is relative.
`SearchResult(String name, String className, Object obj, Attributes attrs)`
Constructs a search result using the result's name, its class name, its bound object, and its attributes.
`SearchResult(String name, String className, Object obj, Attributes attrs, boolean isRelative)`
Constructs a search result using the result's name, its class name, its bound object, its attributes, and whether the name is relative.

## Method Summary

Modifier and Type
Method
Description
`Attributes`
`getAttributes()`
Retrieves the attributes in this search result.
`void`
`setAttributes(Attributes attrs)`
Sets the attributes of this search result to `attrs`.
`String`
`toString()`
Generates the string representation of this SearchResult.

### Methods declared in class javax.naming.Binding

`getClassName, getObject, setObject`

### Methods declared in class javax.naming.NameClassPair

`getName, getNameInNamespace, isRelative, setClassName, setName, setNameInNamespace, setRelative`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### SearchResult

public SearchResult(String name, Object obj, Attributes attrs)
Constructs a search result using the result's name, its bound object, and its attributes.

`getClassName()` will return the class name of `obj` (or null if `obj` is null) unless the class name has been explicitly set using `setClassName()`.

Parameters:
  `name` - The non-null name of the search item. It is relative to the target context of the search (which is named by the first parameter of the `search()` method)
  `obj` - The object bound to name. Can be null.
  `attrs` - The attributes that were requested to be returned with this search item. Cannot be null.
See Also:
  - `NameClassPair.setClassName(java.lang.String)`
  - `NameClassPair.getClassName()`

### SearchResult

public SearchResult(String name, Object obj, Attributes attrs, boolean isRelative)
Constructs a search result using the result's name, its bound object, and its attributes, and whether the name is relative.

`getClassName()` will return the class name of `obj` (or null if `obj` is null) unless the class name has been explicitly set using `setClassName()`

Parameters:
  `name` - The non-null name of the search item.
  `obj` - The object bound to name. Can be null.
  `attrs` - The attributes that were requested to be returned with this search item. Cannot be null.
  `isRelative` - true if `name` is relative to the target context of the search (which is named by the first parameter of the `search()` method); false if `name` is a URL string.
See Also:
  - `NameClassPair.setClassName(java.lang.String)`
  - `NameClassPair.getClassName()`

### SearchResult

public SearchResult(String name, String className, Object obj, Attributes attrs)
Constructs a search result using the result's name, its class name, its bound object, and its attributes.

Parameters:
  `name` - The non-null name of the search item. It is relative to the target context of the search (which is named by the first parameter of the `search()` method)
  `className` - The possibly null class name of the object bound to `name`. If null, the class name of `obj` is returned by `getClassName()`. If `obj` is also null, `getClassName()` will return null.
  `obj` - The object bound to name. Can be null.
  `attrs` - The attributes that were requested to be returned with this search item. Cannot be null.
See Also:
  - `NameClassPair.setClassName(java.lang.String)`
  - `NameClassPair.getClassName()`

### SearchResult

public SearchResult(String name, String className, Object obj, Attributes attrs, boolean isRelative)
Constructs a search result using the result's name, its class name, its bound object, its attributes, and whether the name is relative.

Parameters:
  `name` - The non-null name of the search item.
  `className` - The possibly null class name of the object bound to `name`. If null, the class name of `obj` is returned by `getClassName()`. If `obj` is also null, `getClassName()` will return null.
  `obj` - The object bound to name. Can be null.
  `attrs` - The attributes that were requested to be returned with this search item. Cannot be null.
  `isRelative` - true if `name` is relative to the target context of the search (which is named by the first parameter of the `search()` method); false if `name` is a URL string.
See Also:
  - `NameClassPair.setClassName(java.lang.String)`
  - `NameClassPair.getClassName()`

## Method Details

### getAttributes

public Attributes getAttributes()
Retrieves the attributes in this search result.

Returns:
  The non-null attributes in this search result. Can be empty.
See Also:
  - `setAttributes(javax.naming.directory.Attributes)`

### setAttributes

public void setAttributes(Attributes attrs)
Sets the attributes of this search result to `attrs`.

Parameters:
  `attrs` - The non-null attributes to use. Can be empty.
See Also:
  - `getAttributes()`

### toString

public String toString()
Generates the string representation of this SearchResult. The string representation consists of the string representation of the binding and the string representation of this search result's attributes, separated by ':'. The contents of this string is useful for debugging and is not meant to be interpreted programmatically.

Overrides:
  `toString` in class `Binding`
Returns:
  The string representation of this SearchResult. Cannot be null.