public final class Resource extends java.lang.Object
WARNING: this should only be statically allocated. When the program loads into memory all the static constructors are called. At that time a linked list of all the "Resources" is created. Then when the program actually starts - in the Robot constructor, all resources are initialized. This ensures that the program is restartable in memory without having to unload/reload.
Constructor and Description |
---|
Resource(int size)
Allocate storage for a new instance of Resource.
|
Modifier and Type | Method and Description |
---|---|
int |
allocate()
Allocate a resource.
|
int |
allocate(int index)
Allocate a specific resource value.
|
void |
free(int index)
Free an allocated resource.
|
static void |
restartProgram()
Clears all allocated resources.
|
public Resource(int size)
size
- The number of blocks to allocatepublic static void restartProgram()
public int allocate() throws CheckedAllocationException
CheckedAllocationException
- If there are no resources available to be allocated.public int allocate(int index) throws CheckedAllocationException
index
- The resource to allocateCheckedAllocationException
- If there are no resources available to be allocated.public void free(int index)
index
- The index of the resource to free.