Class ASCIIPropertyListParser

java.lang.Object
com.dd.plist.ASCIIPropertyListParser

public final class ASCIIPropertyListParser extends Object

Parser for ASCII property lists. Supports Apple OS X/iOS and GnuStep/NeXTSTEP format. This parser is based on the recursive descent paradigm, but the underlying grammar is not explicitly defined.

Resources on ASCII property list format:

Author:
Daniel Dreibrodt
  • Field Details

    • WHITESPACE_SPACE

      public static final char WHITESPACE_SPACE
      The space character token.
      See Also:
    • WHITESPACE_TAB

      public static final char WHITESPACE_TAB
      The tab character token.
      See Also:
    • WHITESPACE_NEWLINE

      public static final char WHITESPACE_NEWLINE
      The newline character token.
      See Also:
    • WHITESPACE_CARRIAGE_RETURN

      public static final char WHITESPACE_CARRIAGE_RETURN
      The carriage return character token.
      See Also:
    • ARRAY_BEGIN_TOKEN

      public static final char ARRAY_BEGIN_TOKEN
      The token marking the beginning of an array.
      See Also:
    • ARRAY_END_TOKEN

      public static final char ARRAY_END_TOKEN
      The token marking the end of an array.
      See Also:
    • ARRAY_ITEM_DELIMITER_TOKEN

      public static final char ARRAY_ITEM_DELIMITER_TOKEN
      The token marking the end of an array element.
      See Also:
    • DICTIONARY_BEGIN_TOKEN

      public static final char DICTIONARY_BEGIN_TOKEN
      The token marking the beginning of a dictionary.
      See Also:
    • DICTIONARY_END_TOKEN

      public static final char DICTIONARY_END_TOKEN
      The token marking the end of a dictionary.
      See Also:
    • DICTIONARY_ASSIGN_TOKEN

      public static final char DICTIONARY_ASSIGN_TOKEN
      The token marking the assignment of a value to a dictionary key.
      See Also:
    • DICTIONARY_ITEM_DELIMITER_TOKEN

      public static final char DICTIONARY_ITEM_DELIMITER_TOKEN
      The token marking the end of a dictionary entry.
      See Also:
    • QUOTEDSTRING_BEGIN_TOKEN

      public static final char QUOTEDSTRING_BEGIN_TOKEN
      The token marking the beginning of a quoted string.
      See Also:
    • QUOTEDSTRING_END_TOKEN

      public static final char QUOTEDSTRING_END_TOKEN
      The token marking the end of a quoted string.
      See Also:
    • QUOTEDSTRING_ESCAPE_TOKEN

      public static final char QUOTEDSTRING_ESCAPE_TOKEN
      The token marking the beginning of an escape sequence in a quoted string.
      See Also:
    • DATA_BEGIN_TOKEN

      public static final char DATA_BEGIN_TOKEN
      The token marking the beginning of a data element.
      See Also:
    • DATA_END_TOKEN

      public static final char DATA_END_TOKEN
      The token marking the end of a data element.
      See Also:
    • DATA_BASE64_BEGIN_TOKEN

      public static final char DATA_BASE64_BEGIN_TOKEN
      The token marking the beginning of a data element in Base-64 encoding.
      See Also:
    • DATA_BASE64_END_TOKEN

      public static final char DATA_BASE64_END_TOKEN
      The token marking the end of a data element in Base-64 encoding.
      See Also:
    • DATA_GSOBJECT_BEGIN_TOKEN

      public static final char DATA_GSOBJECT_BEGIN_TOKEN
      The token marking the beginning of a GnuStep object.
      See Also:
    • DATA_GSDATE_BEGIN_TOKEN

      public static final char DATA_GSDATE_BEGIN_TOKEN
      The token marking the beginning of a GnuStep date.
      See Also:
    • DATA_GSBOOL_BEGIN_TOKEN

      public static final char DATA_GSBOOL_BEGIN_TOKEN
      The token marking the beginning of a GnuStep boolean value.
      See Also:
    • DATA_GSBOOL_TRUE_TOKEN

      public static final char DATA_GSBOOL_TRUE_TOKEN
      The token representing the boolean value true in the GnuStep format.
      See Also:
    • DATA_GSBOOL_FALSE_TOKEN

      public static final char DATA_GSBOOL_FALSE_TOKEN
      The token representing the boolean value false in the GnuStep format.
      See Also:
    • DATA_GSINT_BEGIN_TOKEN

      public static final char DATA_GSINT_BEGIN_TOKEN
      The token marking the beginning of a GnuStep integer value.
      See Also:
    • DATA_GSREAL_BEGIN_TOKEN

      public static final char DATA_GSREAL_BEGIN_TOKEN
      The token marking the beginning of a GnuStep real value.
      See Also:
    • DATE_DATE_FIELD_DELIMITER

      public static final char DATE_DATE_FIELD_DELIMITER
      The token that separates the parts of a date value (year, month and day).
      See Also:
    • DATE_TIME_FIELD_DELIMITER

      public static final char DATE_TIME_FIELD_DELIMITER
      The token that separates the parts of a time value (hour, minute and second).
      See Also:
    • DATE_GS_DATE_TIME_DELIMITER

      public static final char DATE_GS_DATE_TIME_DELIMITER
      The token that separates the date and time in the GnuStep format.
      See Also:
    • DATE_APPLE_DATE_TIME_DELIMITER

      public static final char DATE_APPLE_DATE_TIME_DELIMITER
      The token that marks the beginning of the time zone in the Apple format.
      See Also:
    • DATE_APPLE_END_TOKEN

      public static final char DATE_APPLE_END_TOKEN
      The token that marks the end of the time zone in the Apple format.
      See Also:
    • COMMENT_BEGIN_TOKEN

      public static final char COMMENT_BEGIN_TOKEN
      The token marking the beginning of a comment.
      See Also:
    • MULTILINE_COMMENT_SECOND_TOKEN

      public static final char MULTILINE_COMMENT_SECOND_TOKEN
      The token marking a comment to be multi-line.
      See Also:
    • SINGLELINE_COMMENT_SECOND_TOKEN

      public static final char SINGLELINE_COMMENT_SECOND_TOKEN
      The token marking a comment to be single-line.
      See Also:
    • MULTILINE_COMMENT_END_TOKEN

      public static final char MULTILINE_COMMENT_END_TOKEN
      The token marking the end of a multi-line comment. Must be preceded by a MULTILINE_COMMENT_SECOND_TOKEN.
      See Also:
  • Method Details

    • parse

      public static NSObject parse(File f) throws IOException, ParseException
      Parses an ASCII property list file.
      Parameters:
      f - The ASCII property list file.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
    • parse

      public static NSObject parse(File f, String encoding) throws IOException, ParseException
      Parses an ASCII property list file.
      Parameters:
      f - The ASCII property list file.
      encoding - The name of a supported charset to decode the property list.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
      UnsupportedEncodingException - If no support for the named charset is available in this instance of the Java virtual machine.
    • parse

      public static NSObject parse(Path path, String encoding) throws IOException, ParseException
      Parses an ASCII property list file.
      Parameters:
      path - The path to the ASCII property list file.
      encoding - The name of a supported charset to decode the property list.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
      UnsupportedEncodingException - If no support for the named charset is available in this instance of the Java virtual machine.
    • parse

      public static NSObject parse(Path path) throws IOException, ParseException
      Parses an ASCII property list file.
      Parameters:
      path - The path to the ASCII property list file.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
    • parse

      public static NSObject parse(InputStream in) throws ParseException, IOException
      Parses an ASCII property list from an input stream. This method does not close the specified input stream.
      Parameters:
      in - The input stream that provides the property list's data.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
    • parse

      public static NSObject parse(InputStream in, String encoding) throws ParseException, IOException
      Parses an ASCII property list from an input stream. This method does not close the specified input stream.
      Parameters:
      in - The input stream that points to the property list's data.
      encoding - The name of a supported charset to decode the property list.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input stream.
      UnsupportedEncodingException - If no support for the named charset is available in this instance of the Java virtual machine.
    • parse

      public static NSObject parse(Reader reader) throws ParseException, IOException
      Parses an ASCII property list from a Reader. This method does not close the specified reader.
      Parameters:
      reader - The reader that provides the property list's data.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      IOException - If an error occurs while reading from the input reader.
    • parse

      public static NSObject parse(String plistData) throws ParseException
      Parses an ASCII property list from a String
      Parameters:
      plistData - A string containing the property list's data.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
    • parse

      public static NSObject parse(byte[] bytes) throws ParseException
      Parses an ASCII property list from a byte array.
      Parameters:
      bytes - The ASCII property list data.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
    • parse

      public static NSObject parse(byte[] bytes, String encoding) throws ParseException, UnsupportedEncodingException
      Parses an ASCII property list from a byte array.
      Parameters:
      bytes - The ASCII property list data.
      encoding - The name of a supported Charset charset to decode the property list.
      Returns:
      The root object of the property list. This is usually a NSDictionary but can also be a NSArray.
      Throws:
      ParseException - If an error occurs during parsing.
      UnsupportedEncodingException - If no support for the named charset is available in this instance of the Java virtual machine.
    • parse

      public NSObject parse() throws ParseException
      Parses the property list from the beginning and returns the root object of the property list.
      Returns:
      The root object of the property list. This can either be a NSDictionary or a NSArray.
      Throws:
      ParseException - If an error occurred during parsing