Package de.team33.patterns.expiry.tethys
Class Recent<T>
java.lang.Object
de.team33.patterns.expiry.tethys.Recent<T>
- Type Parameters:
T- The type of instances to handle.
- All Implemented Interfaces:
Supplier<T>
Defines a container type for handling instances, which in principle can be defined globally and
reused over and over again, but have to be updated after a certain time.
Problem to solve:
There are objects that, due to their technical properties, are predestined to be initialized and made available once throughout the application. In particular, they are state-free but relatively "expensive" to initialize. Due to their semantics, however, they have to be renewed from time to time. An example of such an object could be an authentication token.
This class serves to handle such objects and in particular their updating.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Recent
Initializes a new instance of this container type given aSupplierfor the type to be handled and an intended lifetime of such instances.CAUTION: The given lifetime should be significantly smaller than the actually expected life span of an instance to be handled, otherwise there may not be enough time to use a provided instance successfully!
- Parameters:
newSubject- theSupplierfor the instances to handlemaxIdle- the maximum idle time in millisecondsmaxLiving- the maximum lifetime in milliseconds
-
-
Method Details