Class EnclosingExpression

  • All Implemented Interfaces:
    ExpressionConstants

    public class EnclosingExpression
    extends AbstractRegularExpression
    An expression that can encompass a sub-expression it encloses with markers, e.g. "{" + sub-expression + "}"
    The interpret() methods work as follows :
    • look up an endMarker matching beginMarker in Context.getRemainingSubstring (that is, skip enclosed blocks with the same markers type)
    • set this endMarker as the new Context's endMarker
    • save enclosed expression as "value", and interpret it
    • restore old Context's endMarker
    Since:
    jpicedt 1.3
    Version:
    $Id: EnclosingExpression.java,v 1.4.2.1 2007/09/02 11:56:13 reynal Exp $
    Author:
    Sylvain Reynal
    • Constructor Detail

      • EnclosingExpression

        public EnclosingExpression​(java.lang.String openingDelimiter,
                                   AbstractRegularExpression child,
                                   java.lang.String closingDelimiter,
                                   boolean noLineFeed)
        Parameters:
        openingDelimiter - the opening delimiter
        child - the Expression that must be parsed inside the delimiters (can be null)
        closingDelimiter - the closing delimiter
        noLineFeed - if true, closingDelimiter must be on the same line as openingDelimiter A typical use would be : EnclosingExpression("{", new WildChar(ANY_CHAR),"}",false)
      • EnclosingExpression

        public EnclosingExpression​(java.lang.String openingDelimiter,
                                   AbstractRegularExpression child,
                                   java.lang.String closingDelimiter)
        Parameters:
        openingDelimiter - the opening delimiter
        child - the Expression that must be parse inside the delimiter (can be null)
        closingDelimiter - the closing delimiter Linefeeds are allowed.
    • Method Detail

      • setChild

        public void setChild​(AbstractRegularExpression child)
        Change the Expression that must be parsed inside the delimiters to the given expression (can be null)
      • getEnclosedString

        public java.lang.String getEnclosedString()
        Returns:
        the enclosed string (= block content as returned by Context)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object