org.apache.cocoon.generation
Class XMidiGenerator

java.lang.Object
  extended by org.apache.avalon.framework.logger.AbstractLogEnabled
      extended by org.apache.cocoon.xml.AbstractXMLProducer
          extended by org.apache.cocoon.generation.AbstractGenerator
              extended by org.apache.cocoon.generation.XMidiGenerator
All Implemented Interfaces:
Poolable, Recyclable, Component, LogEnabled, Parameterizable, Generator, SitemapModelComponent, XMLProducer

public class XMidiGenerator
extends AbstractGenerator
implements Parameterizable

Reads a standard MIDI file and generates SAX Events. The MIDI file parsing parts of this class are based on code from the XMidi project, written by Peter Arthur Loeb (http://www.palserv.com/XMidi/) and used with permission. The warranty disclaimer of the MIT license (http://www.opensource.org/licenses/mit-license.html) applies to Peter Arthur Loeb's code.

Author:
Mark Leicester, Peter Loeb

Field Summary
protected  Source inputSource
          The input source
 
Fields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, source
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.generation.Generator
ROLE
 
Constructor Summary
XMidiGenerator()
           
 
Method Summary
 void generate()
          Generate XML data.
 Serializable getKey()
          Generate the unique key.
 SourceValidity getValidity()
          Generate the validity object.
 void parameterize(Parameters parameters)
           
 void recycle()
          Recycle this component.
 void setup(SourceResolver resolver, Map objectModel, String src, Parameters par)
          Setup the MIDI file generator.
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
 

Field Detail

inputSource

protected Source inputSource
The input source

Constructor Detail

XMidiGenerator

public XMidiGenerator()
Method Detail

parameterize

public void parameterize(Parameters parameters)
                  throws ParameterException
Specified by:
parameterize in interface Parameterizable
Throws:
ParameterException

recycle

public void recycle()
Recycle this component. All instance variables are set to null.

Specified by:
recycle in interface Recyclable
Overrides:
recycle in class AbstractGenerator

setup

public void setup(SourceResolver resolver,
                  Map objectModel,
                  String src,
                  Parameters par)
           throws ProcessingException,
                  SAXException,
                  IOException
Setup the MIDI file generator. Try to get the last modification date of the source for caching.

Specified by:
setup in interface SitemapModelComponent
Overrides:
setup in class AbstractGenerator
Throws:
ProcessingException
SAXException
IOException

getKey

public Serializable getKey()
Generate the unique key. This key must be unique inside the space of this component.

Returns:
The generated key hashes the src

getValidity

public SourceValidity getValidity()
Generate the validity object.

Returns:
The generated validity object or null if the component is currently not cacheable.

generate

public void generate()
              throws IOException,
                     SAXException,
                     ProcessingException
Generate XML data.

Specified by:
generate in interface Generator
Throws:
IOException
SAXException
ProcessingException


Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.