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

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

public class MathPlaceholderResolver
extends Object
implements IPlaceholderResolver

The resolver offers placeholders for math operations.
round{number, numberOfRightDigitsAfterDot}:
Rounds the number to the nearest neighbor ( HALF_UP rounding mode) that has got the given number of digits after the dot.

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

Constructor Summary
MathPlaceholderResolver()
           
 
Method Summary
 Set<String> getResolveablePlaceholders()
          Returns a set of all placeholder procedures names that can be resolved by the placeholder.
 Number resolve(String placeholderName, Object[] placeholderArguments, IEnvironment environment)
          Resolves the given placeholder under the passed interpreter environment.
protected  BigDecimal resolveRound(String placeholderName, Object[] placeholderArguments)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MathPlaceholderResolver

public MathPlaceholderResolver()
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.2 (sasl-common-aspect-library)
See Also:
IPlaceholderResolver.getResolveablePlaceholders()

resolve

public Number 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.2 (sasl-common-aspect-library)
See Also:
IPlaceholderResolver.resolve(java.lang.String, java.lang.Object[], net.sf.sasl.language.placeholder.aop.interpreter.IEnvironment)

resolveRound

protected BigDecimal resolveRound(String placeholderName,
                                  Object[] placeholderArguments)
                           throws ResolveException
Parameters:
placeholderName -
placeholderArguments -
Returns:
Throws:
ResolveException
Since:
0.0.2 (sasl-common-aspect-library)


Copyright © 2010. All Rights Reserved.