net.sf.sasl.language.placeholder.aop.resolver
Class MemoryPlaceholderResolver

java.lang.Object
  extended by net.sf.sasl.language.placeholder.aop.resolver.MemoryPlaceholderResolver
All Implemented Interfaces:
IPlaceholderResolver

public class MemoryPlaceholderResolver
extends Object
implements IPlaceholderResolver

The resolver offers placeholders to get access to memory statistics.
freeMemory{['unit']}:
Same as calling Runtime.freeMemory()
maxMemory{['unit']}:
Same as calling Runtime.maxMemory()
totalMemory{['unit']}:
Same as calling Runtime.totalMemory()

The optional unit parameter converts the memory-bytes into another memory-unit. The memory-unit can be one of the following:

Since:
0.0.1 (sasl-common-aspect-library)
Author:
Philipp Förmer

Constructor Summary
MemoryPlaceholderResolver()
           
 
Method Summary
protected static Double format(String pattern, long bytes)
          Converts bytes into the unit defined by pattern.
 Set<String> getResolveablePlaceholders()
          Returns a set of all placeholder procedures names that can be resolved by the placeholder.
 Double resolve(String placeholderName, Object[] placeholderArguments, IEnvironment environment)
          Resolves the given placeholder under the passed interpreter environment.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MemoryPlaceholderResolver

public MemoryPlaceholderResolver()
Method Detail

getResolveablePlaceholders

public Set<String> getResolveablePlaceholders()
Description copied from interface: IPlaceholderResolver
Returns a set of all placeholder procedures names that can be resolved by the placeholder.

Specified by:
getResolveablePlaceholders in interface IPlaceholderResolver
Returns:
non null.
Since:
0.0.1 (sasl-common-aspect-library)
See Also:
IPlaceholderResolver.getResolveablePlaceholders()

resolve

public Double resolve(String placeholderName,
                      Object[] placeholderArguments,
                      IEnvironment environment)
               throws ResolveException
Description copied from interface: IPlaceholderResolver
Resolves the given placeholder under the passed interpreter environment. The placeholderArguments are static defined (in a placeholder script) or dynamic created parameters (by other placeholder calls) that are passed to the placeholder as procedure arguments.
The resolve method is only invoked for placeholders that the resolver defines that he offers them (IPlaceholderResolver.getResolveablePlaceholders()).

Specified by:
resolve in interface IPlaceholderResolver
Parameters:
placeholderName - non null.
placeholderArguments - non null.
environment - non null
Returns:
null or non null.
Throws:
ResolveException - if the placeholder could not get resolved, for example because the parameters mismatch, or the resolution is only successful for a specific target method execution phase.
Since:
0.0.1 (sasl-common-aspect-library)
See Also:
IPlaceholderResolver.resolve(java.lang.String, java.lang.Object[], net.sf.sasl.language.placeholder.aop.interpreter.IEnvironment)

format

protected static Double format(String pattern,
                               long bytes)
Converts bytes into the unit defined by pattern.

Parameters:
pattern - non null
bytes - positive integer
Returns:
non null
Since:
0.0.1 (sasl-common-aspect-library)


Copyright © 2010. All Rights Reserved.