public abstract class Usage<T extends Usage> extends java.lang.Object implements Service
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
name |
protected T |
parent |
protected int |
percentUsage |
protected java.lang.Object |
usageMutex |
Constructor and Description |
---|
Usage(T parent,
java.lang.String name,
float portion) |
Modifier and Type | Method and Description |
---|---|
protected void |
addChild(T child) |
void |
addUsageListener(UsageListener listener) |
protected int |
caclPercentUsage() |
java.util.concurrent.ThreadPoolExecutor |
getExecutor() |
long |
getLimit() |
UsageCapacity |
getLimiter() |
java.lang.String |
getName() |
T |
getParent() |
int |
getPercentUsage() |
int |
getPercentUsageMinDelta() |
int |
getPollingTime() |
long |
getUsage() |
float |
getUsagePortion() |
boolean |
isFull() |
boolean |
isFull(int highWaterMark) |
boolean |
notifyCallbackWhenNotFull(java.lang.Runnable callback) |
protected void |
onLimitChange() |
protected void |
removeChild(T child) |
void |
removeUsageListener(UsageListener listener) |
protected abstract long |
retrieveUsage() |
void |
setExecutor(java.util.concurrent.ThreadPoolExecutor executor) |
void |
setLimit(long limit)
Sets the memory limit in bytes.
|
void |
setLimiter(UsageCapacity limiter) |
void |
setName(java.lang.String name) |
void |
setParent(T parent) |
protected void |
setPercentUsage(int value) |
void |
setPercentUsageMinDelta(int percentUsageMinDelta)
Sets the minimum number of percentage points the usage has to change
before a UsageListener event is fired by the manager.
|
void |
setPollingTime(int pollingTime) |
void |
setUsagePortion(float usagePortion) |
void |
start() |
void |
stop() |
java.lang.String |
toString() |
void |
waitForSpace() |
boolean |
waitForSpace(long timeout) |
boolean |
waitForSpace(long timeout,
int highWaterMark) |
protected final java.lang.Object usageMutex
protected int percentUsage
protected java.lang.String name
protected abstract long retrieveUsage()
public void waitForSpace() throws java.lang.InterruptedException
java.lang.InterruptedException
public boolean waitForSpace(long timeout) throws java.lang.InterruptedException
java.lang.InterruptedException
public boolean waitForSpace(long timeout, int highWaterMark) throws java.lang.InterruptedException
timeout
- java.lang.InterruptedException
public boolean isFull()
public boolean isFull(int highWaterMark)
public void addUsageListener(UsageListener listener)
public void removeUsageListener(UsageListener listener)
public long getLimit()
public void setLimit(long limit)
protected void onLimitChange()
public float getUsagePortion()
public void setUsagePortion(float usagePortion)
public int getPercentUsage()
public int getPercentUsageMinDelta()
public void setPercentUsageMinDelta(int percentUsageMinDelta)
percentUsageMinDelta
- public long getUsage()
protected void setPercentUsage(int value)
protected int caclPercentUsage()
public java.lang.String getName()
public java.lang.String toString()
toString
in class java.lang.Object
protected void removeChild(T child)
public boolean notifyCallbackWhenNotFull(java.lang.Runnable callback)
callback
- public UsageCapacity getLimiter()
public void setLimiter(UsageCapacity limiter)
limiter
- the limiter to setpublic int getPollingTime()
public void setPollingTime(int pollingTime)
pollingTime
- the pollingTime to setpublic void setName(java.lang.String name)
public void setExecutor(java.util.concurrent.ThreadPoolExecutor executor)
public java.util.concurrent.ThreadPoolExecutor getExecutor()
Copyright © 2005-2012. All Rights Reserved.