public class Datatype {
// Derived datatypes
public Datatype contiguous(int count) throws MPJException {...}
public Datatype vector(int count, int blocklength, int stride) throws MPJException {...}
public Datatype hvector(int count, int blocklength, int stride) throws MPJException {...}
public Datatype indexed(int [] arrayOfBlocklengths,
int [] arrayOfDisplacements) throws MPJException {...}
public Datatype hindexed(int [] arrayOfBlocklengths,
int [] arrayOfDisplacements) throws MPJException {...}
public static Datatype struct(int [] arrayOfBlocklengths,
int [] arrayOfDisplacements,
Datatype [] arrayOfTypes) throws MPJException {...}
public int extent() throws MPJException {...}
public int size() throws MPJException {...}
public int lb() throws MPJException {...}
public int ub() throws MPJException {...}
public void commit() throws MPJException {...}
public void finalize() {...}
...
}