Package com.amalgamasimulation.resources
Class ResourceManager<T,R extends IResource<T,C>,C extends IResourceConsumer<T,R,C>>
java.lang.Object
com.amalgamasimulation.resources.ResourceManager<T,R,C>
public class ResourceManager<T,R extends IResource<T,C>,C extends IResourceConsumer<T,R,C>>
extends Object
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumstatic enum -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddResource(R resource) booleancancelResourceRequest(ResourceRequest<T, R, C> resourceRequest) doublegetRequirementTime(T type) intgetResourcesCount(T type) voidreleaseResources(List<R> resources) voidreleaseResources(R... resources) voidremoveResource(R resource) requestResources(C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, ResourceSet<T, R, C> resourceSet) requestResources(C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, ResourceSet<T, R, C>... alternativeResourceSets) requestResources(C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, List<ResourceSet<T, R, C>> alternativeResourceSets) voidvoidsetRequestPriority(ResourceRequest<T, R, C> request, double priority) voidupdate()
-
Constructor Details
-
ResourceManager
-
-
Method Details
-
addResource
-
removeResource
-
requestResources
public ResourceRequest<T,R, requestResourcesC> (C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, ResourceSet<T, R, C> resourceSet) -
requestResources
public ResourceRequest<T,R, requestResourcesC> (C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, ResourceSet<T, R, C>... alternativeResourceSets) -
requestResources
public ResourceRequest<T,R, requestResourcesC> (C consumer, double priority, boolean allowPreemption, ResourceManager.SeizeRule seizeRule, List<ResourceSet<T, R, C>> alternativeResourceSets) -
releaseResources
-
releaseResources
-
update
public void update() -
setRequestPriority
-
getRequirementTime
-
resetRequirementTime
public void resetRequirementTime() -
getResourceTypes
-
getResourcesCount
-
getResourcesCountByTypes
-
getRequirementTime
-
cancelResourceRequest
-