# Class FileDataNodeBuilder

java.lang.Object
uk.ac.starlink.datanode.factory.DataNodeBuilder
uk.ac.starlink.datanode.factory.FileDataNodeBuilder

public class FileDataNodeBuilder extends DataNodeBuilder
A DataNodeBuilder which tries to build a DataNode from a File object. It examines the file and may invoke a constructor of a DataNode subclass if it knows of one which is likely to be suitable. Rather than trying everything, it will only attempt constructors which it thinks has a good chance of succeeding. Thus, if it works, it will probably be faster than going through the whole list of constructor-based builders. It may also make smarter decisions than doing it that way.

## Method Summary

Modifier and Type
Method
Description
`DataNode`
`buildNode(Object obj)`
Builds a DataNode from a given object.
`static FileDataNodeBuilder`
`getInstance()`
Obtains the singleton instance of this class.
`boolean`
`suitable(Class objClass)`
Determine whether this builder can be used to work on an object of a given class.
`String`
`toString()`

### Methods inherited from class DataNodeBuilder

`getBuilders, getNodeClass`

### Methods inherited from class Object

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

## Method Details

### getInstance

public static FileDataNodeBuilder getInstance()
Obtains the singleton instance of this class.

### suitable

public boolean suitable(Class objClass)
Description copied from class: `DataNodeBuilder`
Determine whether this builder can be used to work on an object of a given class.

Specified by:
  `suitable` in class `DataNodeBuilder`
Parameters:
  `objClass` - the class of an object which might be passed as the argument of `buildNode`
Returns:
  whether it's OK to do that

### buildNode

public DataNode buildNode(Object obj) throws NoSuchDataException
Description copied from class: `DataNodeBuilder`
Builds a DataNode from a given object.

Specified by:
  `buildNode` in class `DataNodeBuilder`
Parameters:
  `obj` - the object to build a datanode from
Returns:
  a new DataNode made from `obj`
Throws:
  `NoSuchDataException` - if no new node can be created

### toString

public String toString()

Overrides:
  `toString` in class `Object`