Holger's Java API

## Package com.antelmann.cddb

This package contains classes to maintain music CD collections and associate CDs with information from a CDDB service.

See:
Description

Interface Summary
CDCollection: CDCollection represents what it says: a collection of CDs.
CDDB: The interface CDDB specifies the methods that a CD database needs to provide to serve as a database in this framework.
CDInfo: Represents the additional information for a CD that can be retrieved from a CDDB database.

Class Summary
ArgumentParser: ArgumentParser is a helper class that parses arguments in results according to CDDB Protocol level 2.
Artist: Artist is an individual contributor to a composition and offers additional attributes applicable to a person.
CDDBEntry: CDDBEntry represents an entry for a CD in a CDDB database that contains all known properties about the associated CD.
CDDBRecord: Represents a unique entry in a CDDB database.
CDDBServer: CDDBServer represents a server that can act as a mirror to a CDDB service.
CDDBXmcdParser: CDDBXmcdParser provides methods to parse the file content from a CDDB/FreeDB raw file in xmcd format.
CDDrive: The class CDDrive represents the physical CD-ROM drive in a platform independent way.
CDDriveSample: A sample platform independent implementation for testing purposes
CDDriveWin: This class is a Win32 specific implementation of CDDrive, which uses native function calls to access the CD-ROM drive.
CDID: CDID represents a unique music CD with the characteristics usually provided by a CDDrive.
CDSet: A helper class to manage a CD collection with the ability to import/export the set to/from a file.
Composition: Composition represents a musical opus that can span anything from a single track on a CD to various tracks over multiple CDs recursively including other sub-compositions.
CompositionDB: a serializable database for compositions
Contribution: Contribution represents the association between a resource and a Composition or a Track, where the resource contributes different roles to the composition.
FileCDDB: FileCDDB is a local CD database that works off the file system.
FreeDB: FreeDB implements the connection to a freedb.org server or one of its mirrors.
FuzzyLookup: FuzzyLookup provides a mapping between CDID and CDDBRecord objects, to support inexact matches for FileCDDB queries.
Genre: A Genre specifies the category for a composition.
Group: Group is a resource made up by multiple individual resources; this could be an artist, a band, an orchestra, a chorus or anything similar - including yet another group.
JCDChecker: A simple GUI to check a CD with CDDB.
JCDCol: A simple GUI to handle a CD catalogue (a prototype for an application for now).
JCDColBrowser: A simple GUI to browse a CD catalogue.
JComposition: a gui component for displaying and editing a composition.
Resource: Resource is the abstract notion of 'something' or 'someone' that can contribute to a composition via a given role.
Role: A Role defines the relationship of what a resource contributes to a composition or track.
SimpleCDCollection: Just a very simple reference implementation for a CDCollection based on a bunch of files stored in a directory.
SQLCDDB: A very simple CDDB implementation that uses a SQL database for CDs and tracks.
Track: Track objects represent the leaf elements of Composition objects defined as a specific track on a particular music CD.

Enum Summary
Artist.Gender

Exception Summary
CDDBProtocolException: CDDBProtocolException is thrown when the response from a CDDB source did not comply to the expected protocol.
RecursiveCycleException: Thrown if a Composition object tries to use a parent object that already has itself as a parent, or if a Group object tries to insert a group that is already contained, which constitues an illegal recursive cycle.
XmcdFormatException: Thrown to indicate that content which was expected to conform to the XMCD format did not conform.

## Package com.antelmann.cddb Description

This package contains classes to maintain music CD collections and associate CDs with information from a CDDB service.

The package provides transparent access to CDDB services, such as http://www.freedb.org/. In addition, it contains an implementation of a local file-based CDDB service, which stores and retrieves the CD information in the exact same format as available on a service like FreeDB.

The information to query a CD can be obtained directly from the CD-Drive, provided a platform-specific native library giving the Java runtime access to the drive properties. A Win32 implementation of such a library is included in the package.

See also the tutorial for more information.

(c) Holger Antelmann since 2001- all rights reserved (contact: info@antelmann.com)
see www.antelmann.com/developer for further details and available downloads