## org.w3c.jigsaw.pics
Class SampleLabelBureau

    java.lang.Object
      |
      +--org.w3c.jigsaw.pics.SampleLabelBureau

public class SampleLabelBureau
extends java.lang.Object
implements LabelBureauInterface

This class implements a label bureau. The database for labels is provided by the underlying file system. The organisation is as follows:

The LabelBureau is attached to some directory D. For each service it handles, you have to create a subdirectory, according to the service name (its identifying URL). So for example, if you want to provide ratings as www.rating.com, you will have to create a D/www.rating.com directory.

Uner this service directory, for each site you want to label, you have to create a sub-directory. In our example, if our rating service wants to label www.w3.org, you will have to create a D/www.rating.com/www.w3.org directory. This directory should reflect the space of the labeled server (ie having the same file hierarchy), and each file should be the label itself (as transmited).

In our example, if the LabelBureau wants to find the label by www.rating.com for http://www.w3.org/pub/WWW/Overview.html, it will look for the file D/www.rating.com/http/www.w3.org/pub/WWW/Overview.html-label .

So, we really use the underlying file system as a database for labels.

FIXME: the LabelBureau should be an interface, same stands for the LabelService and Label classes.

Constructor Summary
`SampleLabelBureau(java.io.File directory)` Create a new LabelBureau.

Method Summary
`java.lang.String` | `getIdentifier()` Get this label bureau directory.
`LabelServiceInterface` | `getLabelService(java.lang.String url)` Lookup for the given service in this bureau.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SampleLabelBureau

    public SampleLabelBureau(java.io.File directory)

  Create a new LabelBureau. The configuration files from the label bureau (the place were it takes its labels from), is given by the provided directory.
  Parameters:
    `directory` - This bureau root directory.
  See Also:
    `LabelServiceInterface`

Method Detail

### getIdentifier

    public java.lang.String getIdentifier()

  Get this label bureau directory.
  Specified by:
    getIdentifier in interface LabelBureauInterface

### getLabelService

    public LabelServiceInterface getLabelService(java.lang.String url)

  Lookup for the given service in this bureau.
  Specified by:
    getLabelService in interface LabelBureauInterface
  Parameters:
    `name` - The service name.
  Returns:
    A LabelService instance, or null if none was found.