ObjectPool

cc.otavia.core.cache.ObjectPool
abstract class ObjectPool[T <: Poolable]

Light-weight object pool.

Type parameters

T

the type of the pooled object

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def get(): T

Get a object from the ObjectPool. The returned object may be created via newObject if no pooled object is ready to be reused.

Get a object from the ObjectPool. The returned object may be created via newObject if no pooled object is ready to be reused.

Attributes

protected def newObject(): T

Used by user to define how to create a new Poolable object.

Used by user to define how to create a new Poolable object.

Attributes

Returns

a object which has not been set Poolable.creator.

def recycle(poolable: T): Unit

Recycle the object if possible and so make it ready to be reused.

Recycle the object if possible and so make it ready to be reused.

Value parameters

poolable

Poolable object T

Attributes

Concrete methods

final protected def newInstance(): T

Creates a new Object which has been set Poolable.creator by the current thread.

Creates a new Object which has been set Poolable.creator by the current thread.

Attributes

Returns

a new Poolable object.