org.openl.binding
Interface IBindingContext

All Superinterfaces:
ICastFactory
All Known Subinterfaces:
IBindingContextDelegator
All Known Implementing Classes:
BindingContext, BindingContextDelegator, ComponentBindingContext, ExecutionModeBindingContextDelegator, MethodBindingContext, ModuleBindingContext, TypeBindingContext

public interface IBindingContext
extends ICastFactory

Author:
snshor

Method Summary
 void addAlias(String name, String value)
           
 void addError(SyntaxNodeException error)
           
 ILocalVar addParameter(String namespace, String name, IOpenClass type)
           
 void addType(String namespace, IOpenClass type)
          Adds new type to binding context.
 void addTypes(Map<String,IOpenClass> types)
           
 ILocalVar addVar(String namespace, String name, IOpenClass type)
           
 INodeBinder findBinder(ISyntaxNode node)
           
 IOpenField findFieldFor(IOpenClass type, String fieldName, boolean strictMatch)
          This method is implemented by default by calling type.getFiled(fieldName, strictMatch), but some context may override it to provide dynamic mapping functionality
 IMethodCaller findMethodCaller(String namespace, String name, IOpenClass[] parTypes)
           
 IOpenField findRange(String namespace, String rangeStartName, String rangeEndName)
           
 IOpenClass findType(String namespace, String typeName)
           
 IOpenField findVar(String namespace, String vname, boolean strictMatch)
           
 String getAlias(String name)
           
 IOpenCast getCast(IOpenClass from, IOpenClass to)
           
 SyntaxNodeException[] getErrors()
           
 Map<String,Object> getExternalParams()
           
 int getLocalVarFrameSize()
           
 int getNumberOfErrors()
           
 OpenL getOpenL()
           
 int getParamFrameSize()
           
 IOpenClass getReturnType()
           
 boolean isExecutionMode()
           
 List<SyntaxNodeException> popErrors()
           
 void popLocalVarContext()
           
 void pushErrors()
          Used for doing temporary processing within current context
 void pushLocalVarContext()
           
 void removeType(String namespace, IOpenClass type)
          Removes type from binding context.
 void setExternalParams(Map<String,Object> params)
           
 void setReturnType(IOpenClass type)
           
 

Method Detail

addAlias

void addAlias(String name,
              String value)

addError

void addError(SyntaxNodeException error)

addParameter

ILocalVar addParameter(String namespace,
                       String name,
                       IOpenClass type)
                       throws DuplicatedVarException
Throws:
DuplicatedVarException

addType

void addType(String namespace,
             IOpenClass type)
             throws Exception
Adds new type to binding context.

Parameters:
namespace - type namespace
type - type
Throws:
Exception - if an error has occurred

addTypes

void addTypes(Map<String,IOpenClass> types)
              throws Exception
Throws:
Exception

removeType

void removeType(String namespace,
                IOpenClass type)
                throws Exception
Removes type from binding context.

Parameters:
namespace - type namespace
type - type
Throws:
Exception - if an error occurs

addVar

ILocalVar addVar(String namespace,
                 String name,
                 IOpenClass type)
                 throws DuplicatedVarException
Throws:
DuplicatedVarException

findBinder

INodeBinder findBinder(ISyntaxNode node)

findFieldFor

IOpenField findFieldFor(IOpenClass type,
                        String fieldName,
                        boolean strictMatch)
This method is implemented by default by calling type.getFiled(fieldName, strictMatch), but some context may override it to provide dynamic mapping functionality

Parameters:
type -
fieldName -
strictMatch -
Returns:

findMethodCaller

IMethodCaller findMethodCaller(String namespace,
                               String name,
                               IOpenClass[] parTypes)
                               throws AmbiguousMethodException
Throws:
AmbiguousMethodException

findType

IOpenClass findType(String namespace,
                    String typeName)

findVar

IOpenField findVar(String namespace,
                   String vname,
                   boolean strictMatch)
                   throws AmbiguousVarException
Parameters:
namespace -
name -
strictMatch -
Returns:
Throws:
AmbiguousVarException
See Also:
IOpenClass#getField(String, boolean)}

findRange

IOpenField findRange(String namespace,
                     String rangeStartName,
                     String rangeEndName)
                     throws AmbiguousVarException,
                            FieldNotFoundException
Parameters:
namespace -
rangeStartName -
rangeEndName -
Returns:
reference to the variable holding a range object. The specifics of the range object is that it is defined by a pair of the variables called start and end. There is no common range interface, the details must be contained in the implementation of a particular range type
Throws:
AmbiguousVarException
FieldNotFoundException

getAlias

String getAlias(String name)

getCast

IOpenCast getCast(IOpenClass from,
                  IOpenClass to)
Specified by:
getCast in interface ICastFactory

getErrors

SyntaxNodeException[] getErrors()

getLocalVarFrameSize

int getLocalVarFrameSize()

getNumberOfErrors

int getNumberOfErrors()

getOpenL

OpenL getOpenL()

getParamFrameSize

int getParamFrameSize()

getReturnType

IOpenClass getReturnType()

popErrors

List<SyntaxNodeException> popErrors()

popLocalVarContext

void popLocalVarContext()

pushErrors

void pushErrors()
Used for doing temporary processing within current context


pushLocalVarContext

void pushLocalVarContext()

setReturnType

void setReturnType(IOpenClass type)
Parameters:
type -

isExecutionMode

boolean isExecutionMode()
Returns:
true if it is execution mode binding.

setExternalParams

void setExternalParams(Map<String,Object> params)

getExternalParams

Map<String,Object> getExternalParams()


Copyright © 2013. All Rights Reserved.