Marble Classes

/ An instance of this class is automatically created when creating new array variables. For example "new string[10]" /

/ This class must be held by all those creating or reading cookies /

/ This is the Cryptography class it is responsible for all things cryptography including encryption and hashing /

/ Responsible for handling all curl operations. Creating a new instance of this class will create a new Curl object allowing you to talk with a http server or use other services related to Curl /

/ Respresents a given date and time. Allows formatting and the ability to get a formatted string of the specified time based on the format provided. Simply put this handles all Date related operations /

/ Responsible for directory related actions /

/ This exception is thrown if the SQLDriver could not be resolved /

/ This class is responsible for everything relating to encoding. You will find routines for base64 encoding here. You can use this Encoder statically. Encoder.methodName(); /

/ Thrown if the function or class you are referencing does not exist. This is only applicable if you have ignored validation using the "@" operator. If validation is not ignored it will be caught by the validator automatically /

/ The Exception class is the highest possible class for exceptions. All exceptions are an instance of this Exception class. Extend this class to create an exception of your own /

/ Responsible for File operations /

Holds MultipartFile's that were uploaded to your apache2 web server

/ Responsible for reading from files. Input streams can be retrieved when opening files /

/ Responsible for outputting data to files. You can get a FileOutputStream object from a File once you have opened it /

/ The FileSession class provides Session functionality where the session is stored on the hard disk of the server /

/ This permission must be held if you wish to create system headers /

Throw if the action you are taking would result in a never ending loop that would cause the program to crash if it was not caught

/ To be extended by all those wishing to implement their own InputStream functionality /

/ The InternetProtocol class is responsible for resolving hostnames to ip addresses /

Thrown if your cast is illegal

/ Thrown if the particular entity is invalid /

Thrown if you access an invalid index in an array


/ Responsible for I/O operations within the system /

/ Thrown in many cases where input/output has failed /

The IOPermission is required for accessing the Marble default input and output streams

/ The Ipv4Address holds an Ipv4 IP address that you can access /

/ Responsible for encoding and decoding json values /

/ The JsonValues is returned after parsing Json succesfully. Each JsonValues object acts as a map where it can hold multiple parsed json values by name and value. /

/ The List class is a pure class that holds is the base skeleton for all List classes that want to provide List functionality /

/ The Mail class is a pure abstract class that all mail senders should extend. /


/ The Map class provides map functionality and allows Value's to be set or accessed through an index name /

/ Responsible for all math situations. Provides a handful of standard Math methods to assist you in your mathematical operations /

/ Holds file information for an uploaded file /

/ This represents a connection to a MysqlServer. /

/ This is the MysqlDriver it can be used to connect to a MysqlServer and execute statements /

/ The NetworkPermission must be held by all those who wish to preform network operations. The type of operation determines what attributes must be set within this NetworkPermission /

/ Thrown if you access an object that has a NULL reference /

/ This highest possible base class. All objects are an instance of this object. /

/ Thrown when you go out of bounds with a string /

/ The OutputStream is a pure class that represents an output stream. This class provides functionality to write, get, empty and print to a output stream You must extend this class if you are creating your own implementation of OutputStream. All output streams extend this class /

/ The base class of all permissions. Extend this class if you yourself are creating a marble permission of your own /

The PermissionException class is thrown when ever a permission violation has occured. When implementing your own permissions you throw this exception if the user is trying to do something they are not authorized to do

/ A PermissionProperty holds a name and a value and they are used for helping confirm weather or not a scope is allowed to add a Permission to a Permissions object /

/ Holds many Permission object's. Each scope is bound to a Permissions and whilst they are bounded to it they are restricted to what this object allows them to do. For example without a Permissions object in your scope with an IOPermission you will not be able to print or read input from the terminal or web client /

/ Holds POST content posted from a web client to your apache2 server /

/ The PreparedStatement is used with databases /

/ This is the Request class it is responsible for getting http request information from the web client when running a marble script in apache2. You can access the object directly in a static way. For example Request.getMethod() /

/ Holds request arguments sent to the web server. This is basically "GET" arguments /

/ Responsible for responding to the web client. This class is used for setting headers and cookies /

/ Allows you to send emails through Sendmail on your linux system. Requires that you have the sendmail binaries installed "/usr/lib/sendmail" /

/ The Session class is responsible for creating, accessing and maintaining sessions /

/ The SessionValues acts as a map and allows you to access session values by index. /

/ Responsible for executing shell commands /

/ An instance of this class is returned when you have created a shell execution. This class holds the response code from the shell you executed along with the response body /

/ If you hold this permission you can execute shell commands /

/ The SmtpMail class allows you to send emails through your SMTP account /

Base socket class all sockets extend this class

Represents a socket address, does not allow interaction currently and is used for internal use. This will be changed soon and a more extensive class will be provided

This exception is thrown if the there is a problem relating to sockets

/ The SQLConnection class is the base class of all SQLConnection's and contains base class information such as pure methods /

/ The SQLDriver class is to be extended by all SQLDrivers you do not need to bother yourself with this unless you are wanting to create a SQLDriver of your own /

/ An instance of this class is thrown if their is an issue with your sql query /

/ Holds a single record extracted from a database /

The base class for all SQLStatements

/ The StringUtils class provides many methods to help manipulate strings within the marble language. These methods include the ability to split strings, get the length of strings, substr and more. A StringUtils object is created during the interpreter bootup so you can access this object directly with StringUtils.methodName(); /

/ Responsible for providing access to Marble system related entities /

/ Represents a TCP Socket connection, this connection can be unconnected in which case call connect. If you wish to spawn a raw TCP connection create a new instance of this class and then call the connect method /

/ Represents a socket server object that is ready to listen to TCP connections /

/ Handles time operations /

/ Represents a udp socket /

/ The Value class holds either a string, number, boolean or Object /

Thrown if the variable you are trying to change has been locked and cannot be modified

/ The Vector class is a class that provided List functionality. This allows one to push and pop the Value objects which hold values of any type. /