Class Binding<L,R>

java.lang.Object
eu.bandm.tools.xslt.base.Binding<L,R>
All Implemented Interfaces:
Function<L,R>
Direct Known Subclasses:
Application.AllBinding

public class Binding<L,R> extends Object implements Function<L,R>
Represents lexical context, i.e mappings from name to value as a linked list. Resolves key to value by a Function interface. Used in Templates for type checking and in Application for execution, for variable contents and for namespace prefix/uri relation stacks. This solution has bad performance, but is sufficient for these comparable shallow nestings.
Null is not allowed as a key.
The empty binding is the last element in any chain and represented by "new Binding(null, null, null)". This dummy element is necessary, because the call of ".apply()" from the function interface must still be feasible.
  • Field Details

    • predec

      final Binding<L,R> predec
    • key

      final L key
    • value

      final R value
  • Constructor Details

    • Binding

      Binding(Binding<L,R> predec, L key, R value)
  • Method Details