Interface Convertible

  • All Known Implementing Classes:
    Convertible

    public interface Convertible
    Utility wrapper class around a String that is used to convert node texts to different types. It's especially important for Formulas.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean asBoolean()
      For implicit conversion to boolean: true if the text is not empty.
      int compareTo​(java.lang.Object string)  
      int compareTo​(Convertible convertible)  
      boolean getBool()
      parses the text (case insensitive) as boolean via Boolean.parseBoolean(String).
      java.util.Calendar getCalendar()
      Converts to Calendar if possible.
      java.util.Date getDate()
      Converts to Date if possible.
      java.lang.Number getNum()
      Convert to Number.
      java.lang.Number getNum0()
      Safe variant of getNum(), throws nothing - on any error (long) 0 is returned.
      java.lang.Object getObject()
      Uses the following priority ranking to determine the type of the text: null Long Double Date String
      java.lang.String getPlain()
      Removes HTML markup if necessary.
      java.lang.String getString()
      No conversion.
      java.lang.String getText()
      No conversion.
      java.net.URI getUri()
      Converts to URI if possible.
      boolean isDate()
      Type check.
      boolean isNum()
      Type check.
    • Method Detail

      • getNum

        java.lang.Number getNum()
                         throws ConversionException
        Convert to Number. All Java number literals are allowed as described by Long.decode(String)
        Returns:
        a Long or a Double, whatever fits best.
        Throws:
        ConversionException - if text is not a number.
      • getNum0

        java.lang.Number getNum0()
        Safe variant of getNum(), throws nothing - on any error (long) 0 is returned.
        Returns:
        a Long or a Double if text is convertible to it or 0 otherwise (even if text is null).
      • getString

        java.lang.String getString()
        No conversion.
        Returns:
        The original string.
      • getText

        java.lang.String getText()
        No conversion.
        Returns:
        The original string.
      • getPlain

        java.lang.String getPlain()
        Removes HTML markup if necessary.
        Returns:
        The result of HtmlUtils#htmlToPlain(String)
      • getDate

        java.util.Date getDate()
                        throws ConversionException
        Converts to Date if possible. The valid date patterns are "yyyy-MM-dd HH:dd:ss.SSSZ" with optional '-', ':'. ' ' may be replaced by 'T'.
        Returns:
        a Date for the parsed text
        Throws:
        ConversionException - if the text is not convertible to a Date.
      • getCalendar

        java.util.Calendar getCalendar()
                                throws ConversionException
        Converts to Calendar if possible. See getDate() for recognized patterns.
        Returns:
        a Calendar for the parsed text.
        Throws:
        ConversionException - if the text is not convertible to a Date.
      • getObject

        java.lang.Object getObject()
        Uses the following priority ranking to determine the type of the text:
        1. null
        2. Long
        3. Double
        4. Date
        5. String
        Returns:
        Object - the type that fits best.
      • isNum

        boolean isNum()
        Type check.
        Returns:
        true if the text is convertible to number.
      • isDate

        boolean isDate()
        Type check.
        Returns:
        true if the text is convertible to date.
      • compareTo

        int compareTo​(java.lang.Object string)
      • compareTo

        int compareTo​(Convertible convertible)
      • getBool

        boolean getBool()
        parses the text (case insensitive) as boolean via Boolean.parseBoolean(String).
        Returns:
        boolean
      • asBoolean

        boolean asBoolean()
        For implicit conversion to boolean: true if the text is not empty.
        Returns:
        boolean