jfun.jaskell
Class EitherResolver

java.lang.Object
  extended byjfun.jaskell.EitherResolver
All Implemented Interfaces:
Resolver

public class EitherResolver
extends java.lang.Object
implements Resolver

This implementation uses two alternative Resolver instances for resolution.

Author:
Ben Yu Mar 6, 2006 4:59:46 PM

Constructor Summary
EitherResolver(Resolver resolver1, Resolver resolver2)
          To create an EitherResolver instance.
 
Method Summary
 Resolver getResolver1()
          Get the primary Resolver instance.
 Resolver getResolver2()
          Get the alternative Resolver instance.
 java.lang.Object resolveMember(java.lang.Object obj, java.lang.String name, java.lang.Object def)
          Resolve a tuple member.
 java.lang.Object resolveSubscript(java.lang.Object obj, java.lang.Object[] args, java.lang.Object def)
          Resolve a subscript expression.
 java.lang.Object resolveVar(java.lang.String name, java.lang.Object def)
          Resolve a variable.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EitherResolver

public EitherResolver(Resolver resolver1,
                      Resolver resolver2)
To create an EitherResolver instance.

Parameters:
resolver1 - the primary Resolver instance.
resolver2 - the alternative Resolver instance.
Method Detail

resolveMember

public java.lang.Object resolveMember(java.lang.Object obj,
                                      java.lang.String name,
                                      java.lang.Object def)
Description copied from interface: Resolver
Resolve a tuple member.

Specified by:
resolveMember in interface Resolver
Parameters:
obj - the object.
name - the member name.
def - the default value.
Returns:
the member value or the default value if not resolveable.

resolveSubscript

public java.lang.Object resolveSubscript(java.lang.Object obj,
                                         java.lang.Object[] args,
                                         java.lang.Object def)
Description copied from interface: Resolver
Resolve a subscript expression.

Specified by:
resolveSubscript in interface Resolver
Parameters:
obj - the object.
args - the subscripts.
def - the default value.
Returns:
the result or the default value if not resolveable.

resolveVar

public java.lang.Object resolveVar(java.lang.String name,
                                   java.lang.Object def)
Description copied from interface: Resolver
Resolve a variable.

Specified by:
resolveVar in interface Resolver
Parameters:
name - the variable name.
def - the default value.
Returns:
the variable value or the default value if not resolveable.

getResolver1

public Resolver getResolver1()
Get the primary Resolver instance.


getResolver2

public Resolver getResolver2()
Get the alternative Resolver instance.