ehcache

net.sf.ehcache.pool.impl
Class DefaultSizeOfEngine

java.lang.Object
  extended by net.sf.ehcache.pool.impl.DefaultSizeOfEngine
All Implemented Interfaces:
SizeOfEngine

public class DefaultSizeOfEngine
extends Object
implements SizeOfEngine

Author:
Alex Snaps

Field Summary
static String USER_FILTER_RESOURCE
          System property defining a user specific resource based size-of filter.
 
Constructor Summary
DefaultSizeOfEngine(int maxDepth, boolean abortWhenMaxDepthExceeded)
          Creates a default size of engine using the best available sizing algorithm.
DefaultSizeOfEngine(int maxDepth, boolean abortWhenMaxDepthExceeded, boolean silent)
          Creates a default size of engine using the best available sizing algorithm.
 
Method Summary
 SizeOfEngine copyWith(int maxDepth, boolean abortWhenMaxDepthExceeded)
          Make a copy of the SizeOf engine, preserving all of its internal state but overriding the specified parameters
 Size sizeOf(Object key, Object value, Object container)
          Size an element
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USER_FILTER_RESOURCE

public static final String USER_FILTER_RESOURCE
System property defining a user specific resource based size-of filter.

The resource pointed to by this property must be a list of fully qualified field or class names, one per line:

 # This is a comment
 org.mycompany.domain.MyType
 org.mycompany.domain.MyOtherType.myField
 
Fields or types matching against lines in this resource will be ignored when calculating the size of the object graph.

See Also:
Constant Field Values
Constructor Detail

DefaultSizeOfEngine

public DefaultSizeOfEngine(int maxDepth,
                           boolean abortWhenMaxDepthExceeded)
Creates a default size of engine using the best available sizing algorithm.

Parameters:
maxDepth - the max object graph that will be traversed.
abortWhenMaxDepthExceeded - true if the object traversal should be aborted when the max depth is exceeded

DefaultSizeOfEngine

public DefaultSizeOfEngine(int maxDepth,
                           boolean abortWhenMaxDepthExceeded,
                           boolean silent)
Creates a default size of engine using the best available sizing algorithm.

Parameters:
maxDepth - the max object graph that will be traversed.
abortWhenMaxDepthExceeded - true if the object traversal should be aborted when the max depth is exceeded
silent - true if no info log explaining which agent was chosen should be printed
Method Detail

copyWith

public SizeOfEngine copyWith(int maxDepth,
                             boolean abortWhenMaxDepthExceeded)
Make a copy of the SizeOf engine, preserving all of its internal state but overriding the specified parameters

Specified by:
copyWith in interface SizeOfEngine
Parameters:
maxDepth - maximum depth of the object graph to traverse
abortWhenMaxDepthExceeded - true if the object traversal should be aborted when the max depth is exceeded
Returns:
a copy of the SizeOf engine using the specified parameters

sizeOf

public Size sizeOf(Object key,
                   Object value,
                   Object container)
Size an element

Specified by:
sizeOf in interface SizeOfEngine
Parameters:
key - the key of the element
value - the value of the element
container - the container of the element, ie: element object + eventual overhead
Returns:
the size of the element in bytes

ehcache

Copyright 2001-2015, Terracotta, Inc.