Class Roaster


  • public final class Roaster
    extends java.lang.Object
    Responsible for parsing data into new JavaType instances.
    Author:
    Lincoln Baxter, III
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T extends JavaSource<?>>
      T
      create​(java.lang.Class<T> type)
      Create a new empty JavaSource instance.
      static java.lang.String format​(java.lang.String source)
      Format the given String as a Java source file, using the built in code format style.
      static java.lang.String format​(java.util.Properties properties, java.lang.String source)
      Format the given String as a Java source type, using the given code format Properties
      static JavaType<?> parse​(char[] data)
      Parse the given character array into a new JavaType instance.
      static JavaType<?> parse​(java.io.File file)
      Open the given File, parsing its contents into a new JavaType instance.
      static JavaType<?> parse​(java.io.InputStream stream)
      Read the given InputStream and parse the data into a new JavaType instance.
      static <T extends JavaType<?>>
      T
      parse​(java.lang.Class<T> type, char[] data)
      Read the given character array and parse its data into a new JavaType instance of the given type.
      static <T extends JavaType<?>>
      T
      parse​(java.lang.Class<T> type, java.io.File file)
      Read the given File and parse its data into a new JavaType instance of the given type.
      static <T extends JavaType<?>>
      T
      parse​(java.lang.Class<T> type, java.io.InputStream stream)
      Read the given InputStream and parse its data into a new JavaType instance of the given type.
      static <T extends JavaType<?>>
      T
      parse​(java.lang.Class<T> type, java.lang.String data)
      Read the given string and parse its data into a new JavaType instance of the given type.
      static <T extends JavaType<?>>
      T
      parse​(java.lang.Class<T> type, java.net.URL url)
      Read the given URL and parse its data into a new JavaType instance of the given type.
      static JavaType<?> parse​(java.lang.String data)
      Parse the given String data into a new JavaType instance.
      static JavaType<?> parse​(java.net.URL url)
      Parse the given URL data into a new JavaType instance.
      static JavaUnit parseUnit​(java.io.InputStream data)
      Read the given InputStream and parse its data into a new JavaUnit instance of the given type.
      static JavaUnit parseUnit​(java.lang.String data)
      Read the given String and parse its data into a new JavaUnit instance of the given type.
      static java.util.List<Problem> validateSnippet​(java.lang.String snippet)
      Validates a code snippet and returns a List of Problem.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • create

        public static <T extends JavaSource<?>> T create​(java.lang.Class<T> type)
        Create a new empty JavaSource instance.
        Type Parameters:
        T - the java type
        Parameters:
        type - the type of the source
        Returns:
        a new JavaType instance of the given type
        Throws:
        java.lang.IllegalStateException - if no parser is available in the classPath
        ParserException - if no parser is capable of parsing the provided data
      • parse

        public static JavaType<?> parse​(java.io.File file)
                                 throws java.io.IOException
        Open the given File, parsing its contents into a new JavaType instance.
        Parameters:
        file - the file to read from
        Returns:
        a the new JavaType instance
        Throws:
        java.io.IOException - if the reading of the file fails
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static JavaType<?> parse​(java.net.URL url)
                                 throws java.io.IOException
        Parse the given URL data into a new JavaType instance.
        Parameters:
        url - the url to read from
        Returns:
        a the new JavaType instance
        Throws:
        java.io.IOException - if the reading fails
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static JavaType<?> parse​(java.io.InputStream stream)
        Read the given InputStream and parse the data into a new JavaType instance. The caller is responsible to close the stream.
        Parameters:
        stream - the stream to read from
        Returns:
        a new JavaType instance
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static JavaType<?> parse​(char[] data)
        Parse the given character array into a new JavaType instance.
        Parameters:
        data - the characters to parse
        Returns:
        a the new JavaType instance
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static JavaType<?> parse​(java.lang.String data)
        Parse the given String data into a new JavaType instance.
        Parameters:
        data - the data to parse
        Returns:
        the new JavaType instance
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static <T extends JavaType<?>> T parse​(java.lang.Class<T> type,
                                                      java.net.URL url)
                                               throws java.io.IOException
        Read the given URL and parse its data into a new JavaType instance of the given type.
        Type Parameters:
        T - the java type
        Parameters:
        type - the type of the source
        url - the url to read from
        Returns:
        a new JavaType instance of the given type
        Throws:
        java.io.IOException - if a exception occurs while reading
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static <T extends JavaType<?>> T parse​(java.lang.Class<T> type,
                                                      java.io.File file)
                                               throws java.io.FileNotFoundException,
                                                      java.io.IOException
        Read the given File and parse its data into a new JavaType instance of the given type.
        Type Parameters:
        T - the java type
        Parameters:
        type - the type of the source
        file - the file to read from
        Returns:
        a new JavaType instance of the given type
        Throws:
        java.io.IOException - if a exception occurs while reading
        java.io.FileNotFoundException - if the file doesn't exists
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static <T extends JavaType<?>> T parse​(java.lang.Class<T> type,
                                                      char[] data)
        Read the given character array and parse its data into a new JavaType instance of the given type.
        Type Parameters:
        T - the java type
        Parameters:
        type - the type of the source
        data - the characters to parse
        Returns:
        a new JavaType instance of the given type
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • validateSnippet

        public static java.util.List<Problem> validateSnippet​(java.lang.String snippet)
                                                       throws ParserException
        Validates a code snippet and returns a List of Problem. Never returns null.
        Parameters:
        snippet - any Java code
        Returns:
        a list of problems (maybe empty)
        Throws:
        ParserException - if no JavaParser implementation could be found
      • parse

        public static <T extends JavaType<?>> T parse​(java.lang.Class<T> type,
                                                      java.lang.String data)
        Read the given string and parse its data into a new JavaType instance of the given type.
        Type Parameters:
        T - the java type
        Parameters:
        type - the type of the source
        data - the data to parse
        Returns:
        a new JavaType instance of the given type
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parse

        public static <T extends JavaType<?>> T parse​(java.lang.Class<T> type,
                                                      java.io.InputStream stream)
        Read the given InputStream and parse its data into a new JavaType instance of the given type. The caller is responsible for closing the stream.
        Type Parameters:
        T - the java type
        Parameters:
        stream - the stream to read from
        type - the type of the source
        Returns:
        a new JavaType instance of the given type
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parseUnit

        public static JavaUnit parseUnit​(java.lang.String data)
        Read the given String and parse its data into a new JavaUnit instance of the given type.
        Parameters:
        data - the data to parse
        Returns:
        a new JavaUnit instance of the given type
        Throws:
        ParserException - if no parser is capable of parsing the requested data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • parseUnit

        public static JavaUnit parseUnit​(java.io.InputStream data)
        Read the given InputStream and parse its data into a new JavaUnit instance of the given type. The caller is responsible for closing the stream.
        Parameters:
        data - the stream to read from
        Returns:
        a new JavaUnit instance of the given type
        Throws:
        ParserException - if no parser is capable of parsing the provided data
        java.lang.IllegalStateException - if no parser is available in the classPath
      • format

        public static java.lang.String format​(java.lang.String source)
        Format the given String as a Java source file, using the built in code format style.
        Parameters:
        source - a java source code
        Returns:
        the formatted source code
        Throws:
        java.lang.IllegalStateException - if no formatter is available in the classPath
      • format

        public static java.lang.String format​(java.util.Properties properties,
                                              java.lang.String source)
        Format the given String as a Java source type, using the given code format Properties
        Parameters:
        properties - the properties to use to format
        source - a java source code
        Returns:
        the formatted source code
        Throws:
        java.lang.IllegalStateException - if no formatter is available in the classPath