Java

Java class names have been stripped of the C package name. So, GGslVector becomes oscats.GslVector and OscatsTest becomes oscats.Test. Java method names have been stripped of the package and class name and are converted to camel case. So, g_gsl_vector_get(obj, i) becomes obj.get(i), oscats_test_administer(tst, ex) becomes tst.administer(ex), and oscats_examinee_set_true_theta(ex, t) becomes ex.setTrueTheta(t). Functions that are not object methods have been placed in Java packages corresponding to ther C package names, so oscats_rnd_normal(1) becomes oscats.Random.normal(1).

Objects are created with the usual Java semantics. Classes with an explicit construction method, oscats_*_new(...), can be created with a special static method. Construction properties are not currently supported as such, but are instead handled through multiple constructor signatures. There are also several other methods with additional signatures, particularly when it is possible to fetch information in several different ways (for example, oscats_cont_model_get_param, oscats_cont_model_get_param_by_index, and oscats_cont_model_get_param_by_name. For reference, all methods with multiple signatures are listed below. Since Java has automatic garbage collection, it isn't necessary to free objects explicitly.

public final class Administrand extends Object
    public Administrand()
    public Administrand(String id)
    public void setModel(String name, Model model)
    public void setModel(Model model)  // set default model
    public Model getModel(String name)
    public Model getModel()  // get default model
public final class AlgAstrat extends Algorithm
    public static AlgAstrat createAlgAstrat(int Nstrata, int NperStratum, int num)
    public static AlgAstrat createAlgAstrat(int Nstrata, int NperStratum)
    public static AlgAstrat createAlgAstratWithBlocking(int Nstrata, int Nblocks, int NperStratum, int num)
    public static AlgAstrat createAlgAstratWithBlocking(int Nstrata, int Nblocks, int NperStratum)
    public static AlgAstrat createAlgAstrat(int[] NperStratum, int num)
    public static AlgAstrat createAlgAstrat(int[] NperStratum)
    public static AlgAstrat createAlgAstratWithBlocking(int[] NperStratum, int Nblocks, int num)
    public static AlgAstrat createAlgAstratWithBlocking(int[] NperStratum, int Nblocks)
public final class AlgClosestDiff extends Algorithm
    public static AlgClosestDiff createAlgClosestDiff(int num)
public final class AlgEstimate extends Algorithm
    public AlgEstimate()
    public AlgEstimate(int Nposterior)
    public AlgEstimate(GslVector mu, GslMatrix sigma)
    public AlgEstimate(int Nposterior, GslVector mu, GslMatrix sigma)
public final class AlgFixedLength extends Algorithm
    public static AlgFixedLength createAlgFixedLength(int len)
public final class AlgMaxFisher extends Algorithm
    public AlgMaxFisher()
    public static AlgMaxFisher createAlgMaxFisher(int num)
    public static AlgMaxFisher createAlgMaxFisher(boolean Aopt, int num)
public final class AlgMaxKl extends Algorithm
    public AlgMaxKl()
    public static AlgMaxKl createAlgMaxKl(int num)
public final class BitArray extends Object
    public static final BitArray createBitArray(int bitLength)
public final class Covariates extends Object
    public void set(int name, double value)
    public void set(String name, double value)
    public double get(int name)
    public double get(String name)
public final class Examinee extends Object
    public Examinee()
    public Examinee(String id)
    public Examinee(Covariates covariates)
    public Examinee(String id, Covariates covariates)
    public void setSimKey(String name)
    public String getSimKey()
    public void setEstKey(String name)
    public String getEstKey()
    public void setTheta(String name, Point theta)
    public Point getTheta(String name)
    public void initTheta(String name, Space space)
public final class GslMatrix extends Object
    public static GslMatrix createGslMatrix(int rows, int cols)
public final class GslPermutation extends Object
    public static GslPermutation createGslPermutation(int n)
public final class GslVector extends Object
    public static GslVector createGslVector(int n)
public final class Integrate extends Object
    public void setTol(double tol)
public final class Item extends Object
    public Item(String id, Model model)
    public Item(Model model)
public final class ItemBank extends Object
    public ItemBank(String id, int sizeHint)
    public ItemBank(String id)
    public ItemBank(int sizeHint)
    public ItemBank()
public abstract class Model extends Object
    public boolean hasParam(int param) // param is a Quark
    public double getParam(int param) // param is a Quark
    public double getParam(String name)
    public void setParam(int param, double x) // param is a Quark
    public void setParam(String name, double x)
    public boolean hasCovariate(int name) // name is a Quark
    public boolean hasCovariate(String name)
    // Constructors are defiend for Model subclasses, as appropriate, e.g.:
    public Model(Space space)
    public Model(Space space, int Ncat)
    public Model(Space space, char[] dims)
    public Model(Space space, char[] dims, int Ncat)
    public Model(Space space, char[] dims, Covariates covariates)
    public Model(Space space, char[] dims, int Ncat, Covariates covariates)
public final class Random
    public static final int uniformInt()
    public static final int uniformIntRange(int min, int max)
    public static final int uniformInt(int min, int max)
    public static final double uniform()
    public static final double uniformRange(double min, double max)
    public static final double uniform(double min, double max)
public final class Test extends Object
    public Test(ItemBank bank)
    public Test(ItemBank bank, int length_hint)
    public Test(String id, ItemBank bank)
    public Test(String id, ItemBank bank, int length_hint)
    public Test(ItemBank bank, int itermax_items, int itermax_select)
    public Test(ItemBank bank, int length_hint, int itermax_items, int itermax_select)
    public Test(String id, ItemBank bank, int itermax_items, int itermax_select)
    public Test(String id, ItemBank bank, int length_hint, int itermax_items, int itermax_select)