Input
- the factory input class typeOutput
- the factory output class typepublic abstract class AbstractSimpleSingletonFactory<Input,Output> extends AbstractSingletonFactory<Input,Output>
SingletonFactory
.
A WeakHashMap
is used as the underlying store. This ensures that if the input class
instance become otherwise unused (weakly reachable), the input class instance key used
within the factory will not prevent the input class instance from being garbage-collected,
thereby preventing a memory leak.
NOTE: If the output class instance holds a strong or soft reference to the input class,
do not use this factory. See instead AbstractWrappedSingletonFactory
. Usage of this
class in that scenario will result in a memory leak, as the input class instance will never
become weakly reachable and therefore never garbage collected.
Constructor and Description |
---|
AbstractSimpleSingletonFactory()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
protected Output |
get(Input input)
Get the output instance currently associated with
the input instance.
|
protected void |
put(Input input,
Output output)
Store the input and output instance association.
|
createNewInstance, getInstance
public AbstractSimpleSingletonFactory()
protected Output get(Input input)
get
in class AbstractSingletonFactory<Input,Output>
input
- the input instance keyCopyright © 2016 JBoss by Red Hat. All rights reserved.