org.apache.jcs.engine
Class ElementAttributes

java.lang.Object
  extended byorg.apache.jcs.engine.ElementAttributes
All Implemented Interfaces:
java.lang.Cloneable, IElementAttributes, java.io.Serializable

public class ElementAttributes
extends java.lang.Object
implements IElementAttributes, java.io.Serializable, java.lang.Cloneable

Element attribute descriptor class.

Version:
$Id: ILateralCacheTCPListener.java,v 1.2 2002/01/18 22:08:26
See Also:
Serialized Form

Field Summary
 long createTime
          The creation time
 java.util.ArrayList eventHandlers
          The list of Event handlers to use.
 long idle
          Description of the Field
 boolean IS_ETERNAL
          can turn off expiration
 boolean IS_LATERAL
          Is this item laterally distributable
 boolean IS_REMOTE
          Can this item be sent to the remote cache
 boolean IS_SPOOL
          can this item be flushed to disk
 long lastAccessTime
          The last access time
 long mls
          Max life seconds
 int size
          The byte size of teh field.
 long version
          Description of the Field
 
Constructor Summary
ElementAttributes()
          Constructor for the IElementAttributes object
 
Method Summary
 void addElementEventHandler(IElementEventHandler eventHandler)
          Adds a ElementEventHandler.
 void addElementEventHandlers(java.util.ArrayList eventHandlers)
          Sets the eventHandlers of the IElementAttributes object
 java.lang.Object clone2()
          Deep clone the attributes.
 IElementAttributes copy()
          Copies the attributes, including references to event handlers.
 long getCreateTime()
          Gets the createTime attribute of the IAttributes object.
 java.util.ArrayList getElementEventHandlers()
          Gets the elementEventHandlers.
 long getIdleTime()
          Gets the idleTime attribute of the IAttributes object
 boolean getIsEternal()
          can turn off expiration
 boolean getIsLateral()
          Is this item laterally distributable.
 boolean getIsRemote()
          Can this item be sent to the remote cache
 boolean getIsSpool()
          Can this item be spooled to disk
 long getLastAccessTime()
          Gets the LastAccess attribute of the IAttributes object.
 long getMaxLifeSeconds()
          Sets the maxLife attribute of the IAttributes object.
 int getSize()
          Gets the size attribute of the IAttributes object
 long getTimeToLiveSeconds()
          Gets the time left to live of the IAttributes object.
 long getVersion()
          Gets the version attribute of the IAttributes object
 void setCreateTime()
          Sets the createTime attribute of the IElementAttributes object
 void setIdleTime(long idle)
          Sets the idleTime attribute of the IAttributes object.
 void setIsEternal(boolean val)
          Sets the isEternal attribute of the ElementAttributes object
 void setIsLateral(boolean val)
          Sets the isLateral attribute of the IElementAttributes object
 void setIsRemote(boolean val)
          Sets the isRemote attribute of the ElementAttributes object
 void setIsSpool(boolean val)
          Sets the isSpool attribute of the IElementAttributes object
 void setLastAccessTimeNow()
          Sets the LastAccessTime as now of the IElementAttributes object
 void setMaxLifeSeconds(long mls)
          Sets the maxLife attribute of the IAttributes object.
 void setSize(int size)
          Size in bytes.
 void setVersion(long version)
          Sets the version attribute of the IAttributes object
 java.lang.String toString()
          For logging and debugging the element IElementAttributes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

IS_SPOOL

public boolean IS_SPOOL
can this item be flushed to disk


IS_LATERAL

public boolean IS_LATERAL
Is this item laterally distributable


IS_REMOTE

public boolean IS_REMOTE
Can this item be sent to the remote cache


IS_ETERNAL

public boolean IS_ETERNAL
can turn off expiration


version

public long version
Description of the Field


mls

public long mls
Max life seconds


idle

public long idle
Description of the Field


size

public int size
The byte size of teh field. Must be manually set.


createTime

public long createTime
The creation time


lastAccessTime

public long lastAccessTime
The last access time


eventHandlers

public transient java.util.ArrayList eventHandlers
The list of Event handlers to use.

Constructor Detail

ElementAttributes

public ElementAttributes()
Constructor for the IElementAttributes object

Method Detail

copy

public IElementAttributes copy()
Copies the attributes, including references to event handlers.

Specified by:
copy in interface IElementAttributes
Returns:
a copy of the Attributes

clone2

public java.lang.Object clone2()
Deep clone the attributes.

Returns:
a clone of these attributes

setVersion

public void setVersion(long version)
Description copied from interface: IElementAttributes
Sets the version attribute of the IAttributes object

Specified by:
setVersion in interface IElementAttributes
Parameters:
version - The new version value

setMaxLifeSeconds

public void setMaxLifeSeconds(long mls)
Description copied from interface: IElementAttributes
Sets the maxLife attribute of the IAttributes object.

Specified by:
setMaxLifeSeconds in interface IElementAttributes
Parameters:
mls - The new MaxLifeSeconds value

getMaxLifeSeconds

public long getMaxLifeSeconds()
Description copied from interface: IElementAttributes
Sets the maxLife attribute of the IAttributes object. How many seconds it can live after creation.

If this is exceeded the element will not be returned, instead it will be removed. It will be removed on retrieval, or removed actively if the memory shrinker is turned on.

Specified by:
getMaxLifeSeconds in interface IElementAttributes
Returns:
The MaxLifeSeconds value

setIdleTime

public void setIdleTime(long idle)
Description copied from interface: IElementAttributes
Sets the idleTime attribute of the IAttributes object. This is the maximum time the item can be idle in the cache, that is not accessed.

If this is exceeded the element will not be returned, instead it will be removed. It will be removed on retrieval, or removed actively if the memory shrinker is turned on.

Specified by:
setIdleTime in interface IElementAttributes
Parameters:
idle - The new idleTime value

setSize

public void setSize(int size)
Description copied from interface: IElementAttributes
Size in bytes. This is not used except in the admin pages. It will be -1 by default.

Specified by:
setSize in interface IElementAttributes
Parameters:
size - The new size value

getSize

public int getSize()
Description copied from interface: IElementAttributes
Gets the size attribute of the IAttributes object

Specified by:
getSize in interface IElementAttributes
Returns:
The size value

getCreateTime

public long getCreateTime()
Description copied from interface: IElementAttributes
Gets the createTime attribute of the IAttributes object.

This shoudd be the current time in milliseconds returned by the sysutem call when the element is put in the cache.

Putting an item in the cache overrides any existing items.

Specified by:
getCreateTime in interface IElementAttributes
Returns:
The createTime value

setCreateTime

public void setCreateTime()
Sets the createTime attribute of the IElementAttributes object


getVersion

public long getVersion()
Description copied from interface: IElementAttributes
Gets the version attribute of the IAttributes object

Specified by:
getVersion in interface IElementAttributes
Returns:
The version value

getIdleTime

public long getIdleTime()
Description copied from interface: IElementAttributes
Gets the idleTime attribute of the IAttributes object

Specified by:
getIdleTime in interface IElementAttributes
Returns:
The idleTime value

getTimeToLiveSeconds

public long getTimeToLiveSeconds()
Description copied from interface: IElementAttributes
Gets the time left to live of the IAttributes object.

This is the (max life + create time) - current time.

Specified by:
getTimeToLiveSeconds in interface IElementAttributes
Returns:
The TimeToLiveSeconds value

getLastAccessTime

public long getLastAccessTime()
Description copied from interface: IElementAttributes
Gets the LastAccess attribute of the IAttributes object.

Specified by:
getLastAccessTime in interface IElementAttributes
Returns:
The LastAccess value.

setLastAccessTimeNow

public void setLastAccessTimeNow()
Description copied from interface: IElementAttributes
Sets the LastAccessTime as now of the IElementAttributes object

Specified by:
setLastAccessTimeNow in interface IElementAttributes

getIsSpool

public boolean getIsSpool()
Description copied from interface: IElementAttributes
Can this item be spooled to disk

By default this is true.

Specified by:
getIsSpool in interface IElementAttributes
Returns:
The spoolable value

setIsSpool

public void setIsSpool(boolean val)
Description copied from interface: IElementAttributes
Sets the isSpool attribute of the IElementAttributes object

By default this is true.

Specified by:
setIsSpool in interface IElementAttributes
Parameters:
val - The new isSpool value

getIsLateral

public boolean getIsLateral()
Description copied from interface: IElementAttributes
Is this item laterally distributable. Can it be sent to auxiliaries of type lateral.

By default this is true.

Specified by:
getIsLateral in interface IElementAttributes
Returns:
The isLateral value

setIsLateral

public void setIsLateral(boolean val)
Description copied from interface: IElementAttributes
Sets the isLateral attribute of the IElementAttributes object

By default this is true.

Specified by:
setIsLateral in interface IElementAttributes
Parameters:
val - The new isLateral value

getIsRemote

public boolean getIsRemote()
Can this item be sent to the remote cache

Specified by:
getIsRemote in interface IElementAttributes
Returns:
The {3} value

setIsRemote

public void setIsRemote(boolean val)
Sets the isRemote attribute of the ElementAttributes object

Specified by:
setIsRemote in interface IElementAttributes
Parameters:
val - The new isRemote value

getIsEternal

public boolean getIsEternal()
can turn off expiration

Specified by:
getIsEternal in interface IElementAttributes
Returns:
The {3} value

setIsEternal

public void setIsEternal(boolean val)
Sets the isEternal attribute of the ElementAttributes object

Specified by:
setIsEternal in interface IElementAttributes
Parameters:
val - The new isEternal value

addElementEventHandler

public void addElementEventHandler(IElementEventHandler eventHandler)
Adds a ElementEventHandler. Handler's can be registered for multiple events. A registered handler will be called at every recognized event. The alternative would be to register handlers for each event. Or maybe The handler interface should have a method to return whether it cares about certain events.

Specified by:
addElementEventHandler in interface IElementAttributes
Parameters:
eventHandler - The ElementEventHandler to be added to the list.

addElementEventHandlers

public void addElementEventHandlers(java.util.ArrayList eventHandlers)
Sets the eventHandlers of the IElementAttributes object

Specified by:
addElementEventHandlers in interface IElementAttributes
Parameters:
eventHandlers - value

getElementEventHandlers

public java.util.ArrayList getElementEventHandlers()
Gets the elementEventHandlers. Returns null if none exist. Makes checking easy.

Specified by:
getElementEventHandlers in interface IElementAttributes
Returns:
The elementEventHandlers value

toString

public java.lang.String toString()
For logging and debugging the element IElementAttributes.

Returns:
String info about the values.


Copyright © 2002-2005 Apache Software Foundation. All Rights Reserved.