See: Description
| Interface | Description |
|---|---|
| Allocation | |
| AllocationListener<T extends AllocationFactory.AllocationRecord> |
Interface for objects that need to track changes to allocations
or may want to veto certain operations
|
| AllocationManager<K,T extends Allocation> |
AllocationManagers are the UsageProducer classes for Allocations and
provide transitions to edit the allocations
|
| Class | Description |
|---|---|
| AbstractAllocationListener<T extends AllocationFactory.AllocationRecord> | |
| AllocationFactory<T extends AllocationFactory.AllocationRecord> |
An Allocation represents a resource allocated rather than a resource consumed.
|
| AllocationFactory.AllocationRecord | |
| AllocationKey<T extends UsageRecord> |
Key object for AllocationFactory transitions
|
| AllocationList | |
| AllocationPeriod | |
| AllocationPeriodTransitionCreator | |
| AllocationPeriodTransitionProvider<T extends Allocation,K> |
Provide a filtered view of allocations from a nested
AllocationManager. |
| AllocationTableCreator |
Class to create
AllocationManager accounting tables |
| PeriodKey | |
| SequenceAllocationFactory<T extends AllocationFactory.AllocationRecord> |
A
AllocationFactory where the allocations form non-overlapping sequences |
| ViewPeriod |
This class represents the current time period that
is being looked at.
|
| Exception | Description |
|---|---|
| ListenerObjection |
Exception thrown when a AllocationListener
wishes to veto a proposed operation |
The key observation here is that Allocations are UsageRecords. Except that they record allocated usage rather than actual usage. Many of the same types of reports might be made with allocation as with usage.