Package org.jboss.forge.roaster
Class Roaster
- java.lang.Object
-
- org.jboss.forge.roaster.Roaster
-
public final class Roaster extends Object
Responsible for parsing data into newJavaType
instances.- Author:
- Lincoln Baxter, III
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends JavaSource<?>>
Tcreate(Class<T> type)
Create a new emptyJavaSource
instance.static String
format(String source)
Format the givenString
as a Java source file, using the built in code format style.static String
format(Properties properties, String source)
Format the givenString
as a Java source type, using the given code formatProperties
static JavaType<?>
parse(char[] data)
Parse the given character array into a newJavaType
instance.static JavaType<?>
parse(File file)
static JavaType<?>
parse(InputStream stream)
Read the givenInputStream
and parse the data into a newJavaType
instance.static <T extends JavaType<?>>
Tparse(Class<T> type, char[] data)
Read the given character array and parse its data into a newJavaType
instance of the given type.static <T extends JavaType<?>>
Tparse(Class<T> type, File file)
static <T extends JavaType<?>>
Tparse(Class<T> type, InputStream stream)
Read the givenInputStream
and parse its data into a newJavaType
instance of the given type.static <T extends JavaType<?>>
Tparse(Class<T> type, String data)
Read the given string and parse its data into a newJavaType
instance of the given type.static <T extends JavaType<?>>
Tparse(Class<T> type, URL url)
static JavaType<?>
parse(String data)
Parse the given String data into a newJavaType
instance.static JavaType<?>
parse(URL url)
static JavaUnit
parseUnit(InputStream data)
Read the givenInputStream
and parse its data into a newJavaUnit
instance of the given type.static JavaUnit
parseUnit(String data)
static List<Problem>
validateSnippet(String snippet)
-
-
-
Method Detail
-
create
public static <T extends JavaSource<?>> T create(Class<T> type)
Create a new emptyJavaSource
instance.- Type Parameters:
T
- the java type- Parameters:
type
- the type of the source- Returns:
- a new
JavaType
instance of the given type - Throws:
IllegalStateException
- if no parser is available in the classPathParserException
- if no parser is capable of parsing the provided data
-
parse
public static JavaType<?> parse(File file) throws IOException
- Parameters:
file
- the file to read from- Returns:
- a the new
JavaType
instance - Throws:
IOException
- if the reading of the file failsParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static JavaType<?> parse(URL url) throws IOException
- Parameters:
url
- the url to read from- Returns:
- a the new
JavaType
instance - Throws:
IOException
- if the reading failsParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static JavaType<?> parse(InputStream stream)
Read the givenInputStream
and parse the data into a newJavaType
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 dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static JavaType<?> parse(char[] data)
Parse the given character array into a newJavaType
instance.- Parameters:
data
- the characters to parse- Returns:
- a the new
JavaType
instance - Throws:
ParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static JavaType<?> parse(String data)
Parse the given String data into a newJavaType
instance.- Parameters:
data
- the data to parse- Returns:
- the new
JavaType
instance - Throws:
ParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static <T extends JavaType<?>> T parse(Class<T> type, URL url) throws IOException
- Type Parameters:
T
- the java type- Parameters:
type
- the type of the sourceurl
- the url to read from- Returns:
- a new
JavaType
instance of the given type - Throws:
IOException
- if a exception occurs while readingParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static <T extends JavaType<?>> T parse(Class<T> type, File file) throws FileNotFoundException, IOException
- Type Parameters:
T
- the java type- Parameters:
type
- the type of the sourcefile
- the file to read from- Returns:
- a new
JavaType
instance of the given type - Throws:
IOException
- if a exception occurs while readingFileNotFoundException
- if the file doesn't existsParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static <T extends JavaType<?>> T parse(Class<T> type, char[] data)
Read the given character array and parse its data into a newJavaType
instance of the given type.- Type Parameters:
T
- the java type- Parameters:
type
- the type of the sourcedata
- the characters to parse- Returns:
- a new
JavaType
instance of the given type - Throws:
ParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
validateSnippet
public static List<Problem> validateSnippet(String snippet) throws ParserException
- Parameters:
snippet
- any Java code- Returns:
- a list of problems (maybe empty)
- Throws:
ParserException
- if noJavaParser
implementation could be found
-
parse
public static <T extends JavaType<?>> T parse(Class<T> type, String data)
Read the given string and parse its data into a newJavaType
instance of the given type.- Type Parameters:
T
- the java type- Parameters:
type
- the type of the sourcedata
- the data to parse- Returns:
- a new
JavaType
instance of the given type - Throws:
ParserException
- if no parser is capable of parsing the provided dataIllegalStateException
- if no parser is available in the classPath
-
parse
public static <T extends JavaType<?>> T parse(Class<T> type, InputStream stream)
Read the givenInputStream
and parse its data into a newJavaType
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 fromtype
- 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 dataIllegalStateException
- if no parser is available in the classPath
-
parseUnit
public static JavaUnit parseUnit(String data)
- 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 dataIllegalStateException
- if no parser is available in the classPath
-
parseUnit
public static JavaUnit parseUnit(InputStream data)
Read the givenInputStream
and parse its data into a newJavaUnit
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 dataIllegalStateException
- if no parser is available in the classPath
-
format
public static String format(String source)
Format the givenString
as a Java source file, using the built in code format style.- Parameters:
source
- a java source code- Returns:
- the formatted source code
- Throws:
IllegalStateException
- if no formatter is available in the classPath
-
format
public static String format(Properties properties, String source)
Format the givenString
as a Java source type, using the given code formatProperties
- Parameters:
properties
- the properties to use to formatsource
- a java source code- Returns:
- the formatted source code
- Throws:
IllegalStateException
- if no formatter is available in the classPath
-
-