Package weka.gui.graphvisualizer

# Class BIFParser

java.lang.Object
weka.gui.graphvisualizer.BIFParser

All Implemented Interfaces:
  `GraphConstants`

public class BIFParser extends Object implements GraphConstants
This class parses an inputstream or a string in XMLBIF ver. 0.3 format, and builds the datastructures that are passed to it through the constructor.

Version:
  $Revision: 7059 $ - 24 Apr 2003 - Initial version (Ashraf M. Kibriya)
Author:
  Ashraf M. Kibriya (amk14@cs.waikato.ac.nz)

## Field Summary

### Fields inherited from interface weka.gui.graphvisualizer.GraphConstants

`DIRECTED, DOUBLE, NORMAL, PLURAL_DUMMY, REVERSED, SINGULAR_DUMMY`

## Constructor Summary

Constructors
Constructor
Description
`BIFParser(InputStream instream, FastVector nodes, FastVector edges)`
Constructor (if our input is an InputStream)
`BIFParser(String input, FastVector nodes, FastVector edges)`
Constructor (if our input is a String)

## Method Summary

Modifier and Type
Method
Description
`String`
`parse()`
This method parses the string or the InputStream that we passed in through the constructor and builds up the m_nodes and m_edges vectors
`static void`
`writeXMLBIF03(String filename, String graphName, FastVector nodes, FastVector edges)`
This method writes a graph in XMLBIF ver.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BIFParser

public BIFParser(String input, FastVector nodes, FastVector edges)
Constructor (if our input is a String)

Parameters:
  `input` - the string to be parsed (should not be null)
  `nodes` - vector containing GraphNode objects (should be empty)
  `edges` - vector containing GraphEdge objects (should be empty)

### BIFParser

public BIFParser(InputStream instream, FastVector nodes, FastVector edges)
Constructor (if our input is an InputStream)

Parameters:
  `instream` - the InputStream to be parsed (should not be null)
  `nodes` - vector containing GraphNode objects (should be empty)
  `edges` - vector containing GraphEdge objects (should be empty)

## Method Details

### parse

public String parse() throws Exception
This method parses the string or the InputStream that we passed in through the constructor and builds up the m_nodes and m_edges vectors

Returns:
  returns the name of the graph
Throws:
  `Exception` - if both the inString and inStream are null, i.e. no input has been provided
  `BIFFormatException` - if there is format of the input is not correct. The format should conform to XMLBIF version 0.3
  `NumberFormatException` - if there is an invalid char in the probability table of a node.

### writeXMLBIF03

public static void writeXMLBIF03(String filename, String graphName, FastVector nodes, FastVector edges)
This method writes a graph in XMLBIF ver. 0.3 format to a file. However, if is reloaded in GraphVisualizer we would need to layout the graph again to display it correctly.

Parameters:
  `filename` - The name of the file to write in. (will overwrite)
  `graphName` - The name of the graph. (will be the name of network tag in XMLBIF)
  `nodes` - Vector containing all the nodes
  `edges` - Vector containing all the edges