Package weka.core

# Class TechnicalInformation

java.lang.Object
weka.core.TechnicalInformation

All Implemented Interfaces:
  `RevisionHandler`

public class TechnicalInformation extends Object implements RevisionHandler
Used for paper references in the Javadoc and for BibTex generation. Based on documentation found here:

http://www.ecst.csuchico.edu/~jacobsd/bib/formats/bibtex.html

BibTex examples can be found here:

http://bib2web.djvuzone.org/bibtex.html

Version:
  $Revision: 1.11 $
Author:
  fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - `TechnicalInformationHandler`

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`TechnicalInformation.Field`
the possible fields
`static enum`
`TechnicalInformation.Type`
the different types of information

## Constructor Summary

Constructors
Constructor
Description
`TechnicalInformation(TechnicalInformation.Type type)`
Initializes the information with the given type
`TechnicalInformation(TechnicalInformation.Type type, String id)`
Initializes the information with the given type

## Method Summary

Modifier and Type
Method
Description
`void`
`add(TechnicalInformation value)`
adds the given information to the list of additional technical informations
`TechnicalInformation`
`add(TechnicalInformation.Type type)`
Adds an empty technical information with the given type to the list of additional informations and returns the instance.
`Enumeration`
`additional()`
returns an enumeration of all the additional technical informations (if there are any)
`boolean`
`exists(TechnicalInformation.Field field)`
returns TRUE if the field is stored and has a value different from the empty string.
`Enumeration`
`fields()`
returns an enumeration over all the stored fields
`String`
`getID()`
returns the unique ID (either the one used in creating this instance or the automatically generated one)
`String`
`getRevision()`
Returns the revision string.
`TechnicalInformation.Type`
`getType()`
returns the type of this technical information
`String`
`getValue(TechnicalInformation.Field field)`
returns the value associated with the given field, or empty if field is not currently stored.
`boolean`
`hasAdditional()`
returns true if there are further technical informations stored in this
`static void`
`main(String[] args)`
Prints some examples of technical informations if there are no commandline options given.
`void`
`setValue(TechnicalInformation.Field field, String value)`
sets the value for the given field, overwrites any previously existing one.
`String`
`toBibTex()`
Returns a BibTex string representing this technical information.
`String`
`toString()`
Returns a plain-text string representing this technical information.

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

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

## Constructor Details

### TechnicalInformation

public TechnicalInformation(TechnicalInformation.Type type)
Initializes the information with the given type

Parameters:
  `type` - the type of this information
See Also:
  - `TechnicalInformation.Type`

### TechnicalInformation

public TechnicalInformation(TechnicalInformation.Type type, String id)
Initializes the information with the given type

Parameters:
  `type` - the type of this information
  `id` - the unique ID (for BibTex), can be empty
See Also:
  - `TechnicalInformation.Type`

## Method Details

### getType

public TechnicalInformation.Type getType()
returns the type of this technical information

Returns:
  the type of this information

### getID

public String getID()
returns the unique ID (either the one used in creating this instance or the automatically generated one)

Returns:
  the ID for this information

### setValue

public void setValue(TechnicalInformation.Field field, String value)
sets the value for the given field, overwrites any previously existing one.

Parameters:
  `field` - the field to set the value for
  `value` - the value of the field

### getValue

public String getValue(TechnicalInformation.Field field)
returns the value associated with the given field, or empty if field is not currently stored.

Parameters:
  `field` - the field to retrieve the value for
Returns:
  the value associated with this field, empty if not existing

### exists

public boolean exists(TechnicalInformation.Field field)
returns TRUE if the field is stored and has a value different from the empty string.

Parameters:
  `field` - the field to check
Returns:
  true if a value is stored for the field and non-empty

### fields

public Enumeration fields()
returns an enumeration over all the stored fields

Returns:
  all currently stored fields

### hasAdditional

public boolean hasAdditional()
returns true if there are further technical informations stored in this

Returns:
  true if there are further technical informations available

### additional

public Enumeration additional()
returns an enumeration of all the additional technical informations (if there are any)

Returns:
  an enumeration over all additional technical informations

### add

public void add(TechnicalInformation value)
adds the given information to the list of additional technical informations

Parameters:
  `value` - the information to add

### add

public TechnicalInformation add(TechnicalInformation.Type type)
Adds an empty technical information with the given type to the list of additional informations and returns the instance.

Parameters:
  `type` - the type of the new information to add
Returns:
  the generated information

### toString

public String toString()
Returns a plain-text string representing this technical information. Note: it only returns a string based on some fields. At least AUTHOR, YEAR and TITLE are necessary.

Overrides:
  `toString` in class `Object`
Returns:
  a string representation of this information

### toBibTex

public String toBibTex()
Returns a BibTex string representing this technical information. Note: this is just a very raw implementation, special characters need to be escaped manually for LaTeX.

Returns:
  the BibTeX representation of this information

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Returns:
  the revision

### main

public static void main(String[] args) throws Exception
Prints some examples of technical informations if there are no commandline options given. Otherwise the information of a given TechnicalInformationHandler can be printed.

Valid options are:

-W classname
The classname of the TechnicalInformationHandler to print the information for

-bibtex
Print the information in BibTeX format

-plaintext
Print the information in plain text format

Parameters:
  `args` - the commandline options
Throws:
  `Exception` - if the option parsing fails