ioio.lib.impl
Class ModuleAllocator
java.lang.Object
ioio.lib.impl.ModuleAllocator
public class ModuleAllocator
- extends java.lang.Object
Utility to allocate and assign unique module ids.
A module id is requested via allocateModule()
and released via releaseModule(int)
.
- Author:
- birmiwal
Constructor Summary |
ModuleAllocator(java.util.Collection<java.lang.Integer> availableModuleIds,
java.lang.String name)
|
ModuleAllocator(int[] availableModuleIds,
java.lang.String name)
|
ModuleAllocator(int maxModules,
java.lang.String name)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ModuleAllocator
public ModuleAllocator(java.util.Collection<java.lang.Integer> availableModuleIds,
java.lang.String name)
ModuleAllocator
public ModuleAllocator(int[] availableModuleIds,
java.lang.String name)
ModuleAllocator
public ModuleAllocator(int maxModules,
java.lang.String name)
allocateModule
public java.lang.Integer allocateModule()
- Returns:
- a module id that was allocated, or
null
if nothing was available
releaseModule
public void releaseModule(int moduleId)
- Parameters:
moduleId
- the moduleId to be released; throws IllegalArgumentException
if
a moduleId is re-returned, or an invalid moduleId is provided