cz.cmc.tcgui.datadef
Class DataDefinitionContainer

java.lang.Object
  extended bycz.cmc.tcgui.datadef.DataDefinitionContainer
All Implemented Interfaces:
DataDefinition

public class DataDefinitionContainer
extends Object
implements DataDefinition

Serves as a container for all the Datadef objects created during parsing of XML definition files. It is either created empty, with implicit constructor, and to fill it with required objects, definition reading methods should be called, or preferably its filled with objects accessible through supplied resource manager. To get objects contained, use methods of DataDefinition interface, which is implemented by this container.


Constructor Summary
DataDefinitionContainer()
          Creates new instance of empty DataDefinitionContainer.
DataDefinitionContainer(ResourceManager rm)
          Creates new instance of DataDefinitionContainer filled with objects accessible through supplied resource manager.
 
Method Summary
 boolean addDefinitionFromInputStream(InputStream is)
          Reads definition from InputStream 'is' and parses it with XtcParser.
 boolean addDefinitionsFromDirectory(String directoryPath, String datadefExt)
          Searches for all files in directory 'directoryPath' which have correct extension as defined by supplied ResourceManager 'rm'.
 TCFilter[] getAllFilters()
          Returns Map containing instances of TCFilter representing all supported filters.
 TCQdisc[] getAllQdiscs()
          Returns Map containing instances of TCQdisc representing all supported qdiscs.
 TCFilter getFilter(String name)
          Returns TCFilter instance representing filter with tc name 'name' from all supported filters.
 TCFilter getFilterAt(int index)
          Returns TCFilter instance representing filter at position 'index' in the list of all supported filters.
 int getFilterCount()
          Returns number of supported filters.
 TCQdisc getQdisc(String name)
          Returns TCQdisc instance representing qdisc with tc name 'name' from all supported qdiscs.
 TCQdisc getQdiscAt(int index)
          Returns TCQdisc instance representing qdisc at position 'index' in the list of all supported qdiscs.
 int getQdiscCount()
          Returns number of supported qdiscs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DataDefinitionContainer

public DataDefinitionContainer()
Creates new instance of empty DataDefinitionContainer.


DataDefinitionContainer

public DataDefinitionContainer(ResourceManager rm)
Creates new instance of DataDefinitionContainer filled with objects accessible through supplied resource manager.

Parameters:
rm - resource manager used to get objects for filling the container
Method Detail

getAllQdiscs

public TCQdisc[] getAllQdiscs()
Returns Map containing instances of TCQdisc representing all supported qdiscs. Key to the map is name of the TCQdisc.

Specified by:
getAllQdiscs in interface DataDefinition
Returns:
array containing definition instances of TCQdisc

getQdiscAt

public TCQdisc getQdiscAt(int index)
Returns TCQdisc instance representing qdisc at position 'index' in the list of all supported qdiscs.

Specified by:
getQdiscAt in interface DataDefinition
Parameters:
index - index in the list of supported qdiscs
Returns:
TCQdisc instance representing selected qdisc

getQdiscCount

public int getQdiscCount()
Returns number of supported qdiscs.

Specified by:
getQdiscCount in interface DataDefinition
Returns:
number of supported qdiscs

getQdisc

public TCQdisc getQdisc(String name)
Returns TCQdisc instance representing qdisc with tc name 'name' from all supported qdiscs. If no qdisc with such name exists, returns null.

Specified by:
getQdisc in interface DataDefinition
Parameters:
name - tc name of qdisc to return
Returns:
TCQdisc instance representing selected qdisc or null if none such exists

getAllFilters

public TCFilter[] getAllFilters()
Returns Map containing instances of TCFilter representing all supported filters. Key to the map is name of the TCFilter.

Specified by:
getAllFilters in interface DataDefinition
Returns:
array containing instances of TCFilter

getFilterAt

public TCFilter getFilterAt(int index)
Returns TCFilter instance representing filter at position 'index' in the list of all supported filters.

Specified by:
getFilterAt in interface DataDefinition
Parameters:
index - index in the list of supported filters
Returns:
TCFilter instance representing selected filter

getFilterCount

public int getFilterCount()
Returns number of supported filters.

Specified by:
getFilterCount in interface DataDefinition
Returns:
number of supported filters

getFilter

public TCFilter getFilter(String name)
Returns TCFilter instance representing filter with tc name 'name' from all supported filters. If no filter with such name exists, returns null.

Specified by:
getFilter in interface DataDefinition
Parameters:
name - tc name of filter to return
Returns:
TCFilter instance representing selected filter or null if none such exists

addDefinitionFromInputStream

public boolean addDefinitionFromInputStream(InputStream is)
Reads definition from InputStream 'is' and parses it with XtcParser. If no error occures, new TCObject is added to qdisc or filter list and true is returned. False is returned if parsing fails and neither TCQdisc nor TCFilter is created by parser.

Parameters:
is - InputStream from which to read definition for parsing
Returns:
true if new object added to container, false otherwise

addDefinitionsFromDirectory

public boolean addDefinitionsFromDirectory(String directoryPath,
                                           String datadefExt)
Searches for all files in directory 'directoryPath' which have correct extension as defined by supplied ResourceManager 'rm'. Those files are then opened as InputStreams and passed to method addDefinitionFromInputStream(InputStream is). If as a result of this proces any object was added to container (either qdisc or filter), true is returned. False is returned if no object was added.

Parameters:
directoryPath - directory in which to search for definition files
datadefExt - extension of definition files
Returns:
true if any object added, false otherwise