scriptella.driver.script
Class ParametersCallbackMap

java.lang.Object
  extended by scriptella.driver.script.ParametersCallbackMap
All Implemented Interfaces:
java.util.Map<java.lang.String,java.lang.Object>, scriptella.spi.ParametersCallback
Direct Known Subclasses:
BindingsParametersCallback, JexlContextMap

public class ParametersCallbackMap
extends java.lang.Object
implements scriptella.spi.ParametersCallback, java.util.Map<java.lang.String,java.lang.Object>

Map implementation of ParametersCallback for integration into Scriptella execution environment.

This class allows local variables to be set via put(String,Object) method.
getParameter(String) allows reading variables.

In query mode, a virtual variable query is available and exposes a method next() to populate result set.

Note: current implementation does not distinguish if a vairable is absent or has a value of null.

Version:
1.0
Author:
Fyodor Kupolov

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Constructor Summary
ParametersCallbackMap(scriptella.spi.ParametersCallback parentParameters)
          Initializes instance and set parent parameters to use in getParameter(String).
ParametersCallbackMap(scriptella.spi.ParametersCallback parentParameters, scriptella.spi.QueryCallback queryCallback)
          Initializes parameters callback for query element.
 
Method Summary
 void clear()
          Clears local variables.
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
           
 java.lang.Object get(java.lang.Object key)
          Use getParameter(String).
 java.lang.Object getParameter(java.lang.String name)
          Returns specified variable value.
 boolean isEmpty()
           
 java.util.Set<java.lang.String> keySet()
           
 void next()
          Executes nested elements and exposes local variables set by the current query.
 java.lang.Object put(java.lang.String key, java.lang.Object value)
          Sets local variable.
 void putAll(java.util.Map<? extends java.lang.String,?> t)
          Registers local variables.
 java.lang.Object remove(java.lang.Object key)
          Removes local variable.
 void setQueryCallback(scriptella.spi.QueryCallback queryCallback)
          Sets query callback and enables the query mode, i.e. query variable is exposed.
 int size()
           
 java.util.Collection<java.lang.Object> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

ParametersCallbackMap

public ParametersCallbackMap(scriptella.spi.ParametersCallback parentParameters)
Initializes instance and set parent parameters to use in getParameter(String).

Parameters:
parentParameters - parent parameters.

ParametersCallbackMap

public ParametersCallbackMap(scriptella.spi.ParametersCallback parentParameters,
                             scriptella.spi.QueryCallback queryCallback)
Initializes parameters callback for query element.

Parameters:
parentParameters - parent parameters.
queryCallback - callback to notify on row iteration.
Method Detail

getParameter

public java.lang.Object getParameter(java.lang.String name)
Returns specified variable value.

The local variables set by put(String,Object) method take priority of variables in parentParameters object.

Specified by:
getParameter in interface scriptella.spi.ParametersCallback
Parameters:
name - variable name
Returns:
value of variable or null if variable not found.

get

public java.lang.Object get(java.lang.Object key)
Use getParameter(String).

Specified by:
get in interface java.util.Map<java.lang.String,java.lang.Object>
Parameters:
key - variable name.
Returns:
value of variable.

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
Sets local variable.

Specified by:
put in interface java.util.Map<java.lang.String,java.lang.Object>
Parameters:
key - variable name.
value - variable value.
Returns:
previous variable value.

remove

public java.lang.Object remove(java.lang.Object key)
Removes local variable.

Specified by:
remove in interface java.util.Map<java.lang.String,java.lang.Object>
Parameters:
key - variable name.
Returns:
previous value.

putAll

public void putAll(java.util.Map<? extends java.lang.String,?> t)
Registers local variables.

Specified by:
putAll in interface java.util.Map<java.lang.String,java.lang.Object>
Parameters:
t - local variables map.

clear

public void clear()
Clears local variables.

Specified by:
clear in interface java.util.Map<java.lang.String,java.lang.Object>

setQueryCallback

public void setQueryCallback(scriptella.spi.QueryCallback queryCallback)
Sets query callback and enables the query mode, i.e. query variable is exposed.

Parameters:
queryCallback - query callback.

next

public void next()
Executes nested elements and exposes local variables set by the current query.


size

public int size()
Specified by:
size in interface java.util.Map<java.lang.String,java.lang.Object>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<java.lang.String,java.lang.Object>

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map<java.lang.String,java.lang.Object>

keySet

public java.util.Set<java.lang.String> keySet()
Specified by:
keySet in interface java.util.Map<java.lang.String,java.lang.Object>

values

public java.util.Collection<java.lang.Object> values()
Specified by:
values in interface java.util.Map<java.lang.String,java.lang.Object>

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
Specified by:
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>


Copyright © Copyright 2006-2009 The Scriptella Project Team.