GigaSpaces XAP 7.0 API

org.openspaces.remoting.scripting
Class ResourceLazyLoadingScript

java.lang.Object
  extended by org.openspaces.remoting.scripting.ResourceLazyLoadingScript
All Implemented Interfaces:
Externalizable, Serializable, BroadcastIndicator, LazyLoadingScript, Script

public class ResourceLazyLoadingScript
extends Object
implements LazyLoadingScript, Externalizable

A resource lazy loading script is a lazy loading script that uses Spring abstraction on top of resources on top of a resource. The script resource location uses Spring notation for location (similar to URL, with the addition of classpath: prefix support).

When the scipt is constructed, the actual script contents is not loaded. Only if needed the script contents will be loaded. See LazyLoadingRemoteInvocationAspect.

Author:
kimchy
See Also:
Serialized Form

Constructor Summary
ResourceLazyLoadingScript()
           
ResourceLazyLoadingScript(String name, String type, String resoruceLocation)
          Constructs a new lazy loading sctipt.
 
Method Summary
<T,Y> ResourceLazyLoadingScript
broadcast(RemoteResultReducer<T,Y> reducer)
          Broadcast the execution of this script over all active partitions.
 ResourceLazyLoadingScript cache(boolean shouldCache)
          Should this script be cached or not.
 Object[] getMetaArguments()
          Returns a set of meta arguments that are used for remote invocation.
 String getName()
          Returns the name of the script.
 Map<String,Object> getParameters()
          Returns the set of parameters that will be passes to the script execution.
 RemoteResultReducer getReducer()
          Returns the reducer that will be used in case broadcasting is enabled or not.
 Object getRouting()
          Returns the routing index (which partition it will "hit").
 String getScriptAsString()
          Returns the scirpt string only if it was already loaded using loadScript().
 String getType()
          Returns the type of a script.
 boolean hasScript()
          Returns true if the script has been loaded.
 void loadScript()
          Loads the scirpt into memory from the resource location.
 ResourceLazyLoadingScript metaArguments(Object... metaArguments)
          Adds another meta argument to the script
 ResourceLazyLoadingScript name(String name)
          Sets the name of the script.
 ResourceLazyLoadingScript parameter(String name, Object value)
          Puts a parameter that can be used during script execution.
 void readExternal(ObjectInput in)
           
 ResourceLazyLoadingScript routing(Object routing)
          Sets the routing index (which partition this will "hit") for the script.
 ResourceLazyLoadingScript script(String resourceLocation)
          Sets the actual script source.
 Boolean shouldBroadcast()
          Return true if broadcast should be enabled or not.
 boolean shouldCache()
          Returns if this script should be cached or not.
 String toString()
           
 ResourceLazyLoadingScript type(String type)
          Sets the type of the script.
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ResourceLazyLoadingScript

public ResourceLazyLoadingScript()

ResourceLazyLoadingScript

public ResourceLazyLoadingScript(String name,
                                 String type,
                                 String resoruceLocation)
Constructs a new lazy loading sctipt.

Parameters:
name - The script name (used as a unique identifier for cachable scripts).
type - The type of the script executed
resoruceLocation - The resource location (similar to URL syntax, with additional support for classpath: prefix).
Method Detail

getScriptAsString

public String getScriptAsString()
Returns the scirpt string only if it was already loaded using loadScript().

Specified by:
getScriptAsString in interface Script

hasScript

public boolean hasScript()
Returns true if the script has been loaded.

Specified by:
hasScript in interface LazyLoadingScript

loadScript

public void loadScript()
Loads the scirpt into memory from the resource location.

Specified by:
loadScript in interface LazyLoadingScript

getName

public String getName()
Returns the name of the script. Must uniquely identify a script.

Specified by:
getName in interface Script

getType

public String getType()
Returns the type of a script. For example: groovy.

Specified by:
getType in interface Script

getParameters

public Map<String,Object> getParameters()
Returns the set of parameters that will be passes to the script execution.

Specified by:
getParameters in interface Script

shouldCache

public boolean shouldCache()
Returns if this script should be cached or not.

Specified by:
shouldCache in interface Script

getRouting

public Object getRouting()
Returns the routing index (which partition it will "hit").

Specified by:
getRouting in interface Script

getReducer

public RemoteResultReducer getReducer()
Description copied from interface: BroadcastIndicator
Returns the reducer that will be used in case broadcasting is enabled or not.

Specified by:
getReducer in interface BroadcastIndicator

shouldBroadcast

public Boolean shouldBroadcast()
Description copied from interface: BroadcastIndicator
Return true if broadcast should be enabled or not. Return null if should not affect it in any manner.

Specified by:
shouldBroadcast in interface BroadcastIndicator

getMetaArguments

public Object[] getMetaArguments()
Description copied from interface: Script
Returns a set of meta arguments that are used for remote invocation.

Specified by:
getMetaArguments in interface Script
See Also:
SpaceRemotingInvocation.getMetaArguments()

name

public ResourceLazyLoadingScript name(String name)
Sets the name of the script.


script

public ResourceLazyLoadingScript script(String resourceLocation)
Sets the actual script source.


type

public ResourceLazyLoadingScript type(String type)
Sets the type of the script. For example: groovy.


cache

public ResourceLazyLoadingScript cache(boolean shouldCache)
Should this script be cached or not. Deaults to true.


parameter

public ResourceLazyLoadingScript parameter(String name,
                                           Object value)
Puts a parameter that can be used during script execution.

Parameters:
name - The name of the parameter.
value - The value of the parameter.

routing

public ResourceLazyLoadingScript routing(Object routing)
Sets the routing index (which partition this will "hit") for the script. Defaults to a random routing. Defaults to a random routing.


broadcast

public <T,Y> ResourceLazyLoadingScript broadcast(RemoteResultReducer<T,Y> reducer)
Broadcast the execution of this script over all active partitions. Optionally use a reducer to reduce the results.


metaArguments

public ResourceLazyLoadingScript metaArguments(Object... metaArguments)
Adds another meta argument to the script

See Also:
Script.getMetaArguments(), SpaceRemotingInvocation.getMetaArguments(), ScriptingMetaArgumentsHandler

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Throws:
IOException
ClassNotFoundException

toString

public String toString()
Overrides:
toString in class Object

GigaSpaces XAP 7.0 API

Copyright © GigaSpaces.