Libraries.Data.Formats.JavaScriptObjectNotationDefaultListener Documentation

This class is an implementation of the JavaScriptObjectNotationListener blueprint class used by the parser to perform actions when certain parse events occur.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotation
use Libraries.Data.Formats.JavaScriptObjectNotationDefaultListener
use Libraries.Data.Formats.JavaScriptObjectNotationLexer
use Libraries.Data.Formats.JavaScriptObjectNotationParser

class Main
    action Main()
        Parse("")
    end

    action Parse(text value) returns JavaScriptObjectNotation
         JavaScriptObjectNotationDefaultListener listen
         JavaScriptObjectNotationLexer lex
         JavaScriptObjectNotationParser parse
         lex:SetListener(listen)
         parse:SetListener(listen)
         lex:Read(value)
         parse:Parse(lex)
         return listen:GetObject()
    end
end

Inherits from: Libraries.Data.Formats.JavaScriptObjectNotationListener, Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
EnterArray()This method is called by the JavaScriptObjectNotationParser on an EnterArray event.
EnterObject()This method is called by the JavaScriptObjectNotationParser on an EnterObject event.
EnterPair()This method is called by the JavaScriptObjectNotationParser on an EnterPair event.
EnterStart()This method is called by the JavaScriptObjectNotationParser on an EnterStart event.
EnterValue()This method is called by the JavaScriptObjectNotationParser on an EnterValue event.
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
ExitArray()This method is called by the JavaScriptObjectNotationParser on an ExitArray event.
ExitObject()This method is called by the JavaScriptObjectNotationParser on an ExitObject event.
ExitPair()This method is called by the JavaScriptObjectNotationParser on an ExitPair event.
ExitStart()This method is called by the JavaScriptObjectNotationParser on an ExitStart event.
ExitValue()This method is called by the JavaScriptObjectNotationParser on an ExitValue event.
GetHashCode()This action gets the hash code for an object.
GetObject()This method returns the JavaScriptObjectNotation object created from the parse string.
VisitError(Libraries.Data.Formats.JavaScriptObjectNotationError error)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitFalse(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitInteger(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitNumber(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitText(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitTrue(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.
VisitUndefined(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)This method is called by the JavaScriptObjectNotationParser to visit a text object.

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Example Code

Object o
        Object t
        integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smaller)

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

EnterArray()

This method is called by the JavaScriptObjectNotationParser on an EnterArray event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action EnterArray
        JavaScriptObjectNotationListener listener
        listener:EnterArray()
    end

EnterObject()

This method is called by the JavaScriptObjectNotationParser on an EnterObject event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action EnterObject
        JavaScriptObjectNotationListener listener
        listener:EnterObject()
    end

EnterPair()

This method is called by the JavaScriptObjectNotationParser on an EnterPair event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action Object
        JavaScriptObjectNotationListener listener
        listener:ExitArray()
    end

EnterStart()

This method is called by the JavaScriptObjectNotationParser on an EnterStart event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action EnterStart
        JavaScriptObjectNotationListener listener
        listener:EnterStart()
    end

EnterValue()

This method is called by the JavaScriptObjectNotationParser on an EnterValue event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action EnterValue
        JavaScriptObjectNotationListener listener
        listener:EnterValue()
    end

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Example Code

use Libraries.Language.Object
        use Libraries.Language.Types.Text
        Object o
        Text t
        boolean result = o:Equals(t)

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

ExitArray()

This method is called by the JavaScriptObjectNotationParser on an ExitArray event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action ExitArray
        JavaScriptObjectNotationListener listener
        listener:ExitArray()
    end

ExitObject()

This method is called by the JavaScriptObjectNotationParser on an ExitObject event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action ExitObject
        JavaScriptObjectNotationListener listener
        listener:ExitObject()
    end

ExitPair()

This method is called by the JavaScriptObjectNotationParser on an ExitPair event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action ExitPair
        JavaScriptObjectNotationListener listener
        listener:ExitPair()
    end

ExitStart()

This method is called by the JavaScriptObjectNotationParser on an ExitStart event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action ExitStart
        JavaScriptObjectNotationListener listener
        listener:ExitStart()
    end

ExitValue()

This method is called by the JavaScriptObjectNotationParser on an ExitValue event.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener

    private action ExitValue
        JavaScriptObjectNotationListener listener
        listener:ExitValue()
    end

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode()

Return

integer: The integer hash code of the object.

GetObject()

This method returns the JavaScriptObjectNotation object created from the parse string.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotation
    use Libraries.Data.Formats.JavaScriptObjectNotationDefaultListener
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer
    use Libraries.Data.Formats.JavaScriptObjectNotationParser

    class Main
        action Main()
            Parse("")
        end

        action Parse(text value) returns JavaScriptObjectNotation
             JavaScriptObjectNotationDefaultListener listen
             JavaScriptObjectNotationLexer lex
             JavaScriptObjectNotationParser parse
             lex:SetListener(listen)
             parse:SetListener(listen)
             lex:Read(value)
             parse:Parse(lex)
             return listen:GetObject()
        end
    end

Return

Libraries.Data.Formats.JavaScriptObjectNotation: the JavaScriptObjectNotation object.

VisitError(Libraries.Data.Formats.JavaScriptObjectNotationError error)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ThrowError(JavaScriptObjectNotationToken start, text message, JavaScriptObjectNotationListener listener)
        JavaScriptObjectNotationError error
        error:SetLineNumber(start:startLine)
        error:SetColumnNumber(start:startColumn)
        error:SetIndex(start:startIndex)
        error:SetErrorMessage(message)
        listener:VisitError(error)
    end

Parameters

VisitFalse(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:FALSE
            listener:VisitFalse(terminal)
        end
    end

Parameters

VisitInteger(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:INTEGER
            listener:VisitInteger(terminal)
        end
    end

Parameters

VisitNumber(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:NUMBER
            listener:VisitNumber(terminal)
        end
    end

Parameters

VisitText(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:TEXT
            listener:VisitText(terminal)
        end
    end

Parameters

VisitTrue(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:TRUE
            listener:VisitTrue(terminal)
        end
    end

Parameters

VisitUndefined(Libraries.Data.Formats.JavaScriptObjectNotationTerminal terminal)

This method is called by the JavaScriptObjectNotationParser to visit a text object.

Example Code

use Libraries.Data.Formats.JavaScriptObjectNotationListener
    use Libraries.Data.Formats.JavaScriptObjectNotationTerminal
    use Libraries.Data.Formats.JavaScriptObjectNotationToken
    use Libraries.Data.Formats.JavaScriptObjectNotationLexer

    private action ParseValue
        JavaScriptObjectNotationListener listener
        JavaScriptObjectNotationLexer lexer
        JavaScriptObjectNotationToken token = lexer:GetToken(1)
        JavaScriptObjectNotationTerminal terminal
        terminal:SetToken(lexer:GetToken(currentToken))
        if token:tokenID = lexer:NULL
            listener:VisitUndefined(terminal)
        end
    end

Parameters