de.cesr.lara.components.container
Interface LaraCapacityManageableContainer<PropertyType extends LaraProperty<? extends PropertyType,?>>
- Type Parameters:
ItemType
-
- All Superinterfaces:
- Iterable<PropertyType>, LaraContainer<PropertyType>
- All Known Subinterfaces:
- LaraOverwriteMemory<PropertyType>, LaraOverwriteStorage<PropertyType>
- All Known Implementing Classes:
- LDefaultLimitedCapacityBOMemory, LDefaultLimitedCapacityMemory, LDefaultLimitedCapacityOverwriteBoMemory, LDefaultLimitedCapacityOverwriteMemory, LDefaultLimitedCapacityStorage, LDefaultSimpleStorage
public interface LaraCapacityManageableContainer<PropertyType extends LaraProperty<? extends PropertyType,?>>
- extends LaraContainer<PropertyType>
LaraContainer
s implementing this interface accept a
LaraCapacityManager
and commit themselves to calling its
LaraCapacityManager#manage(LaraCapacityManagementView))
whenever they
are full and a new item is to be stored. Usually, the manager will then
remove an item from the container at a position according to its strategy and
thus clear space for the new item.
getCapacityManagementView
LaraCapacityManagementView<PropertyType> getCapacityManagementView()
- Returns:
getCapacityManager
LaraCapacityManager<PropertyType> getCapacityManager()
- Returns:
setCapacity
boolean setCapacity(int capacity)
- Parameters:
capacity
-
- Returns:
setCapacityManager
void setCapacityManager(LaraCapacityManager<PropertyType> manager)
- Parameters:
manager
-