public class SBMLValidator extends java.lang.Object
This class of objects is defined by libSBML only and has no direct equivalent in terms of SBML components. This class is not prescribed by the SBML specifications, although it is used to implement features defined in SBML.
LibSBML implements facilities for verifying that a given SBML document
is valid according to the SBML specifications it also exposes the
validation interface so that user programs and SBML Level 3 package
authors may use the facilities to implement new validators. There are
two main interfaces to libSBML's validation facilities, based on the
classes Validator and SBMLValidator
.
The Validator class is the basis of the system for validating an SBML
document against the validation rules defined in the SBML
specifications. The scheme used by Validator relies is compact and uses
the visitor programming pattern, but it relies on C/C++ features and
is not directly accessible from language bindings. SBMLValidator
offers
a framework for straightforward class-based extensibility, so that user
code can subclass SBMLValidator
to implement new validation systems,
different validators can be introduced or turned off at run-time, and
interfaces can be provided in the libSBML language bindings.
SBMLValidator
can call Validator functionality internally (as is the
case in the current implementation of SBMLInternalValidator) or use
entirely different implementation approaches, as necessary.
Users of libSBML may already be familiar with the facilities encompassed
by the validation system, in the form of the consistency-checking methods
defined on SBMLDocument
. The methods SBMLDocument.setConsistencyChecks(int categ, boolean onoff)
,
SBMLDocument.checkConsistency()
, SBMLDocument.checkInternalConsistency()
and other method of that sort are in fact implemented via SBMLValidator
,
specifically as methods on the class SBMLInternalValidator.
Authors may use SBMLValidator
as the base class for their own validator
extensions to libSBML. The class SBMLInternalValidator may serve as a
code example for how to implement such things.
Constructor and Description |
---|
SBMLValidator()
Creates a new
SBMLValidator . |
SBMLValidator(SBMLValidator orig)
Copy constructor creates a copy of an
SBMLValidator object. |
Modifier and Type | Method and Description |
---|---|
void |
clearFailures()
Clears this validator's list of failures.
|
SBMLValidator |
cloneObject()
Creates and returns a deep copy of this
SBMLValidator . |
void |
delete()
Explicitly deletes the underlying native object.
|
SBMLDocument |
getDocument()
Returns the current SBML document in use by this validator.
|
SBMLErrorLog |
getErrorLog()
Returns the list of errors or warnings logged during parsing,
consistency checking, or attempted translation of this model.
|
SBMLError |
getFailure(long n)
Returns the failure object at index n in this validator's list of
failures logged during the last run.
|
Model |
getModel()
Returns the
Model object stored in the SBMLDocument . |
long |
getNumFailures()
Returns the number of failures encountered in the last validation run.
|
void |
logFailure(SBMLError err)
Adds the given failure to this list of Validators failures.
|
int |
setDocument(SBMLDocument doc)
Sets the current SBML document to the given
SBMLDocument object. |
void |
swigReleaseOwnership()   |
void |
swigTakeOwnership()   |
long |
validate()
Runs this validator on the current SBML document.
|
long |
validate(SBMLDocument d)
Validates the given
SBMLDocument object. |
long |
validate(java.lang.String filename)
Validates the SBML document located at the given
filename . |
public SBMLValidator()
SBMLValidator
.public SBMLValidator(SBMLValidator orig)
SBMLValidator
object.
orig
- the object to copy.
SBMLConstructorException
- Thrown if the argument orig
is null.
public void clearFailures()
If you are validating multiple SBML documents with the same validator, call this method after you have processed the list of failures from the last validation run and before validating the next document.
public SBMLValidator cloneObject()
SBMLValidator
.
SBMLValidator
.public void delete()
In general, application software will not need to call this method directly. The Java language binding for libSBML is implemented as a language wrapper that provides a Java interface to libSBML's underlying C++/C code. Some of the Java methods return objects that are linked to objects created not by Java code, but by C++ code. The Java objects wrapped around them will be deleted when the garbage collector invokes the corresponding C++ finalize()
methods for the objects. The finalize()
methods in turn call the SBMLValidator.delete()
method on the libSBML object.
This method is exposed in case calling programs want to ensure that the underlying object is freed immediately, and not at some arbitrary time determined by the Java garbage collector. In normal usage, callers do not need to invoke SBMLValidator.delete()
themselves.
public SBMLDocument getDocument()
SBMLValidator.setDocument(SBMLDocument doc)
public SBMLErrorLog getErrorLog()
Note that this refers to the SBMLDocument
object's error log (i.e.,
the list returned by SBMLDocument.getErrorLog()
). That list of
errors and warnings is separate from the validation failures
tracked by this validator (i.e., the list returned by getFailures()).
SBMLErrorLog
used for the SBMLDocument
public SBMLError getFailure(long n)
Callers should use getNumFailures() first, to find out the number of entries in this validator's list of failures.
n
- an integer indicating the index of the object to return from
the failures list index values start at 0.
SBMLValidator.getNumFailures()
public Model getModel()
Model
object stored in the SBMLDocument
.
It is important to note that this method does not create a
Model
instance. The model in the SBMLDocument
must have been created
at some prior time, for example using SBMLDocument.createModel()
or SBMLDocument.setModel(Model m)
.
This method returns null
if a model does not yet exist.
Model
contained in this validator's SBMLDocument
object.
SBMLDocument.setModel(Model m)
,
SBMLDocument.createModel()
public long getNumFailures()
This method returns the number of failures logged by this validator.
This number only reflects this validator's actions the number may
not be the same as the number of errors and warnings logged on the
SBMLDocument
object's error log (i.e., the object returned by
SBMLDocument.getErrorLog()
), because other parts of libSBML may log
errors and warnings beyond those found by this validator.
public void logFailure(SBMLError err)
err
- an SBMLError
object representing an error or warningpublic int setDocument(SBMLDocument doc)
SBMLDocument
object.
doc
- the document to use for this validation
SBMLValidator.getDocument()
public void swigReleaseOwnership()
public void swigTakeOwnership()
public long validate()
public long validate(SBMLDocument d)
SBMLDocument
object.
This is identical to calling setDocument(SBMLDocument d ) followed by validate().
d
- the SBML document to validate
public long validate(java.lang.String filename)
filename
.
This is a convenience method that saves callers the trouble of
using SBMLReader
to read the document first.
filename
- the path to the file to be read and validated.