Package org.jboss.modules.ref

# Class StrongReference<T,A>

java.lang.Object
org.jboss.modules.ref.StrongReference<T,A>

Type Parameters:
  `T` - the reference value type
  `A` - the attachment type

All Implemented Interfaces:
  `Reference<T,A>`

public class StrongReference<T,A> extends Object implements Reference<T,A>
A strong reference with an attachment. Since strong references are always reachable, a reaper may not be used.

Author:
  David M. Lloyd

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.jboss.modules.ref.Reference

`Reference.Type`

## Constructor Summary

Constructors
Constructor
Description
`StrongReference(T value)`
`StrongReference(T value, A attachment)`

## Method Summary

Modifier and Type
Method
Description
`void`
`clear()`
Clear the reference.
`T`
`get()`
Get the value, or `null` if the reference has been cleared.
`A`
`getAttachment()`
Get the attachment, if any.
`Reference.Type`
`getType()`
Get the type of the reference.
`String`
`toString()`

### Methods inherited from class java.lang.Object

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

## Constructor Details

### StrongReference

public StrongReference(T value, A attachment)

### StrongReference

public StrongReference(T value)

## Method Details

### get

public T get()
Description copied from interface: `Reference`
Get the value, or `null` if the reference has been cleared.

Specified by:
  `get` in interface `Reference<T,A>`
Returns:
  the value

### clear

public void clear()
Description copied from interface: `Reference`
Clear the reference.

Specified by:
  `clear` in interface `Reference<T,A>`

### getAttachment

public A getAttachment()
Description copied from interface: `Reference`
Get the attachment, if any.

Specified by:
  `getAttachment` in interface `Reference<T,A>`
Returns:
  the attachment

### getType

public Reference.Type getType()
Description copied from interface: `Reference`
Get the type of the reference.

Specified by:
  `getType` in interface `Reference<T,A>`
Returns:
  the type

### toString

public String toString()

Overrides:
  `toString` in class `Object`