gov.llnl.lc.chaos

Class Genders


public class Genders
extends java.lang.Object

Java JNI extensions wrapper around libgenders C library. Most library functions behave similarly to C api functions with minor exceptions documented below.

Constructor Summary

Genders()
Creates a Genders object, loading the default genders database
Genders(String filename)
Creates a Genders object, loading the specified genders database

Method Summary

void
cleanup()
Cleans up allocated memory.
String[]
getattr()
Returns all the attributes of the node you are running on
String[]
getattr(String node)
Returns all the attributes of the specified node
String[]
getattr_all()
Returns all of the attributes in the genders database
String
getattrval(String attr)
Returns the value of the specified attribute on the current node you are running on
String
getattrval(String node, String attr)
Returns the value of the specified attribute on the specified node.
int
getmaxattrs()
Returns maximum number of attributes of any one node parsed in the genders database
String
getnodename()
Returns the current node you are on, in shortened hostname format.
String[]
getnodes()
Returns all the nodes in the genders database
String[]
getnodes(String attr)
Returns all the nodes with the specified attribute
String[]
getnodes(String attr, String val)
Returns all the nodes with the specified attribute and value
int
getnumattrs()
Returns number of attributes parsed in the genders database
int
getnumnodes()
Returns number of nodes parsed in the genders database
boolean
isattr(String attr)
Tests if the specified attribute exists in the genders database
boolean
isattrval(String attr, String val)
Tests if the specified value exists in the genders database
boolean
isnode(String node)
Tests if the specified node exists in the genders database
String[]
query(String query)
Returns nodes specified via the specified query.
boolean
testattr(String attr)
Tests if the current node has the specified attribute
boolean
testattr(String node, String attr)
Tests if the specified node has the specified attribute
boolean
testattrval(String attr, String val)
Tests if the current node has the specified attribute and value.
boolean
testattrval(String node, String attr, String val)
Tests if the specified node has the specified attribute and value.
boolean
testquery(String query)
Test if the current node meets the conditions of the specified query.
boolean
testquery(String node, String query)
Test if the specified node meets the conditions of the specified query.

Constructor Details

Genders

public Genders()
            throws GendersException
Creates a Genders object, loading the default genders database

Genders

public Genders(String filename)
            throws GendersException
Creates a Genders object, loading the specified genders database

Method Details

cleanup

public void cleanup()
Cleans up allocated memory. Must be called to free memory from underlying calls. After this method is called, all genders methods above cannot be called and will result in errors.

getattr

public String[] getattr()
            throws GendersException
Returns all the attributes of the node you are running on
Throws:
GendersException - on error

getattr

public String[] getattr(String node)
            throws GendersException
Returns all the attributes of the specified node
Throws:
GendersException - on error

getattr_all

public String[] getattr_all()
            throws GendersException
Returns all of the attributes in the genders database
Throws:
GendersException - on error

getattrval

public String getattrval(String attr)
            throws GendersException
Returns the value of the specified attribute on the current node you are running on
Throws:
GendersException - on error

getattrval

public String getattrval(String node,
                         String attr)
            throws GendersException
Returns the value of the specified attribute on the specified node. May be an empty string if the attribute contains no value.
Throws:
GendersException - on error

getmaxattrs

public int getmaxattrs()
            throws GendersException
Returns maximum number of attributes of any one node parsed in the genders database
Throws:
GendersException - on error

getnodename

public String getnodename()
            throws GendersException
Returns the current node you are on, in shortened hostname format.
Throws:
GendersException - on error

getnodes

public String[] getnodes()
            throws GendersException
Returns all the nodes in the genders database
Throws:
GendersException - on error

getnodes

public String[] getnodes(String attr)
            throws GendersException
Returns all the nodes with the specified attribute
Throws:
GendersException - on error

getnodes

public String[] getnodes(String attr,
                         String val)
            throws GendersException
Returns all the nodes with the specified attribute and value
Throws:
GendersException - on error

getnumattrs

public int getnumattrs()
            throws GendersException
Returns number of attributes parsed in the genders database
Throws:
GendersException - on error

getnumnodes

public int getnumnodes()
            throws GendersException
Returns number of nodes parsed in the genders database
Throws:
GendersException - on error

isattr

public boolean isattr(String attr)
            throws GendersException
Tests if the specified attribute exists in the genders database
Throws:
GendersException - on error

isattrval

public boolean isattrval(String attr,
                         String val)
            throws GendersException
Tests if the specified value exists in the genders database
Throws:
GendersException - on error

isnode

public boolean isnode(String node)
            throws GendersException
Tests if the specified node exists in the genders database
Throws:
GendersException - on error

query

public String[] query(String query)
            throws GendersException
Returns nodes specified via the specified query. Signify union with '||', intersection with '&&', * difference with '--', and complement with '~'. Operations are performed left to right. Parentheses can be used to change the order of operations.
Throws:
GendersException - on error

testattr

public boolean testattr(String attr)
            throws GendersException
Tests if the current node has the specified attribute
Throws:
GendersException - on error

testattr

public boolean testattr(String node,
                        String attr)
            throws GendersException
Tests if the specified node has the specified attribute
Throws:
GendersException - on error

testattrval

public boolean testattrval(String attr,
                           String val)
            throws GendersException
Tests if the current node has the specified attribute and value.
Throws:
GendersException - on error

testattrval

public boolean testattrval(String node,
                           String attr,
                           String val)
            throws GendersException
Tests if the specified node has the specified attribute and value.
Throws:
GendersException - on error

testquery

public boolean testquery(String query)
            throws GendersException
Test if the current node meets the conditions of the specified query.
Throws:
GendersException - on error

testquery

public boolean testquery(String node,
                         String query)
            throws GendersException
Test if the specified node meets the conditions of the specified query.
Throws:
GendersException - on error