Package org.protelis.lang
Class ProtelisLoader
- java.lang.Object
-
- org.protelis.lang.ProtelisLoader
-
public final class ProtelisLoader extends java.lang.ObjectMain entry-point class for loading/parsing Protelis programs.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static ProtelisProgramparse(java.lang.String program)static ProtelisProgramparse(org.eclipse.emf.ecore.resource.Resource resource)static ProtelisProgramparseAnonymousModule(java.lang.String program)static ProtelisProgramparseURI(java.lang.String programURI)static org.eclipse.emf.ecore.resource.ResourceresourceFromString(java.lang.String program)
-
-
-
Method Detail
-
parse
public static ProtelisProgram parse(@Nonnull org.eclipse.emf.ecore.resource.Resource resource)
- Parameters:
resource- theResourcecontaining the program to execute- Returns:
- a
ProtelisProgram
-
parse
public static ProtelisProgram parse(java.lang.String program)
- Parameters:
program- Protelis module, program file or program to be prepared for execution. It must be one of: i) a valid Protelis qualifier name (Java like name, colon separated); ii) a validURIstring; iii) a valid Protelis program. Those possibilities are checked in order. The URI String can be in the form of a URL like "file:///home/user/protelis/myProgram" or a location relative to the classpath. In case, for instance, "/my/package/myProgram.pt" is passed, it will be automatically get converted to "classpath:/my/package/myProgram.pt". All the Protelis modules your program relies upon must be included in your Java classpath. The Java classpath scanning is done automatically by this constructor, linking is performed by Xtext transparently.URIs of type "platform:/" are supported, for those who work within an Eclipse environment.- Returns:
- an
ProtelisProgramcomprising the constructed program - Throws:
java.lang.IllegalArgumentException- when the program has errors
-
parseAnonymousModule
public static ProtelisProgram parseAnonymousModule(java.lang.String program)
- Parameters:
program- A valid Protelis program to be prepared for execution. All the Protelis modules your program relies upon must be included in your Java classpath. The Java classpath scanning is done automatically by this constructor, linking is performed by Xtext transparently.URIs of type "platform:/" are supported, for those who work within an Eclipse environment.- Returns:
- a
ProtelisProgram - Throws:
java.lang.IllegalArgumentException- when the program has errors
-
parseURI
public static ProtelisProgram parseURI(java.lang.String programURI) throws java.io.IOException
- Parameters:
programURI- Protelis program file to be prepared for execution. It must be a either a validURIstring, for instance "file:///home/user/protelis/myProgram" or a location relative to the classpath. In case, for instance, "/my/package/myProgram.pt" is passed, it will be automatically get converted to "classpath:/my/package/myProgram.pt". All the Protelis modules your program relies upon must be included in your Java classpath. The Java classpath scanning is done automatically by this constructor, linking is performed by Xtext transparently.URIs of type "platform:/" are supported, for those who work within an Eclipse environment.- Returns:
- a new
ProtelisProgram - Throws:
java.io.IOException- when the resource cannot be foundjava.lang.IllegalArgumentException- when the program has errors
-
resourceFromString
public static org.eclipse.emf.ecore.resource.Resource resourceFromString(java.lang.String program)
- Parameters:
program- the program in String format- Returns:
- a dummy:/ resource that can be used to interpret the program
-
-