Class TokenBuilder


  • public final class TokenBuilder
    extends Object
    This class serves as an efficient constructor for Tokens. It bears some resemblance to Java's StringBuilder.
    Author:
    BaseX Team 2005-23, BSD License, Christian Gruen
    • Constructor Detail

      • TokenBuilder

        public TokenBuilder()
        Empty constructor.
      • TokenBuilder

        public TokenBuilder​(long capacity)
        Constructor with initial array capacity.
        Parameters:
        capacity - array capacity
      • TokenBuilder

        public TokenBuilder​(byte[] token)
        Constructor with initial token.
        Parameters:
        token - initial token
    • Method Detail

      • size

        public int size()
        Returns the number of bytes.
        Returns:
        number of bytes
      • size

        public void size​(int sz)
        Sets the number of bytes. Note that no bound check is performed by this method.
        Parameters:
        sz - number of bytes
      • isEmpty

        public boolean isEmpty()
        Tests if the token is empty.
        Returns:
        result of check
      • reset

        public TokenBuilder reset()
        Resets the token buffer.
        Returns:
        self reference
      • bold

        public TokenBuilder bold()
        Adds a bold flag. This method should only be called to control text rendering in the visual front end.
        Returns:
        self reference
      • uline

        public TokenBuilder uline()
        Adds an underline toggle flag. This method should only be called to control text rendering in the visual front end.
        Returns:
        self reference
      • norm

        public TokenBuilder norm()
        Adds a norm flag. This method should only be called to control text rendering in the visual front end.
        Returns:
        self reference
      • hline

        public TokenBuilder hline()
        Adds a half new line. This method should only be called to control text rendering in the visual front end.
        Returns:
        self reference
      • nline

        public TokenBuilder nline()
        Adds a new line. This method should only be called to control text rendering in the visual front end.
        Returns:
        self reference
      • add

        public TokenBuilder add​(int cp)
        Adds the specified character. Call addInt(int) to add the string value of an integer.
        Parameters:
        cp - codepoint of the character
        Returns:
        self reference
      • cp

        public int cp​(int pos)
        Returns the codepoint stored at the specified position.
        Parameters:
        pos - position
        Returns:
        character
      • cl

        public int cl​(int pos)
        Returns the length of the codepoints stored at the specified position.
        Parameters:
        pos - position
        Returns:
        character
      • get

        public byte get​(int pos)
        Returns the byte stored at the specified position.
        Parameters:
        pos - position
        Returns:
        byte
      • set

        public void set​(int pos,
                        byte value)
        Sets a byte at the specified position.
        Parameters:
        value - byte to be set
        pos - position
      • delete

        public TokenBuilder delete​(int start,
                                   int end)
        Deletes bytes from the token.
        Parameters:
        start - start position
        end - end position
        Returns:
        self reference
      • addByte

        public TokenBuilder addByte​(byte value)
        Adds a single byte to the token.
        Parameters:
        value - the byte to be added
        Returns:
        self reference
      • addInt

        public TokenBuilder addInt​(int value)
        Adds an integer value to the token.
        Parameters:
        value - value to be added
        Returns:
        self reference
      • addLong

        public TokenBuilder addLong​(long value)
        Adds a number to the token.
        Parameters:
        value - value to be added
        Returns:
        self reference
      • add

        public TokenBuilder add​(byte[] token)
        Adds a token to the token.
        Parameters:
        token - the token to be added
        Returns:
        self reference
      • add

        public TokenBuilder add​(byte[] token,
                                int start,
                                int end)
        Adds a subtoken.
        Parameters:
        token - the token
        start - start position
        end - end position
        Returns:
        self reference
      • add

        public TokenBuilder add​(String string)
        Adds a string to the token.
        Parameters:
        string - the string to be added
        Returns:
        self reference
      • addAll

        public TokenBuilder addAll​(Object[] objects,
                                   String separator)
        Adds multiple strings to the token, separated by the specified string.
        Parameters:
        objects - the object to be added
        separator - separator string
        Returns:
        self reference
      • add

        public TokenBuilder add​(Object object)
        Adds an object to the token.
        Parameters:
        object - the object to be added
        Returns:
        self reference
      • addExt

        public TokenBuilder addExt​(Object object,
                                   Object... extensions)
        Adds the string representation of an object. The specified string may contain % characters as placeholders. All placeholders will be replaced by the specified extensions. If a digit is specified after the placeholder character, it will be interpreted as insertion position.
        Parameters:
        object - object to be extended
        extensions - optional extension strings
        Returns:
        self reference
      • trim

        public TokenBuilder trim()
        Trims leading and trailing whitespaces.
        Returns:
        self reference
      • normalize

        public TokenBuilder normalize()
        Normalizes newlines.
        Returns:
        self reference
      • toArray

        public byte[] toArray()
        Returns the token as byte array.
        Returns:
        token
      • next

        public byte[] next()
        Returns the token as byte array and resets the token buffer. The call of this function is identical to calling toArray() and reset().
        Returns:
        token
      • finish

        public byte[] finish()
        Returns the token as byte array, and invalidates the internal array. Warning: the function must only be called if the builder is discarded afterwards.
        Returns:
        token