org.jaudiotagger.audio.asf.io
Class WriteableChunkModifer

java.lang.Object
  extended by org.jaudiotagger.audio.asf.io.WriteableChunkModifer
All Implemented Interfaces:
ChunkModifier

public class WriteableChunkModifer
extends java.lang.Object
implements ChunkModifier

A chunk modifier which works with information provided by WriteableChunk objects.

Author:
Christian Laireiter

Field Summary
private  WriteableChunk writableChunk
          The chunk to write.
 
Constructor Summary
WriteableChunkModifer(WriteableChunk chunk)
          Creates an instance.
 
Method Summary
 boolean isApplicable(GUID guid)
          Determines, whether the modifier handles chunks identified by given guid.
 ModificationResult modify(GUID guid, java.io.InputStream chunk, java.io.OutputStream destination)
          Writes a modified copy of the chunk into the destination..
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

writableChunk

private final WriteableChunk writableChunk
The chunk to write.

Constructor Detail

WriteableChunkModifer

public WriteableChunkModifer(WriteableChunk chunk)
Creates an instance.

Parameters:
chunk - chunk to write
Method Detail

isApplicable

public boolean isApplicable(GUID guid)
Determines, whether the modifier handles chunks identified by given guid.

Specified by:
isApplicable in interface ChunkModifier
Parameters:
guid - GUID to test.
Returns:
true, if this modifier can be used to modify the chunk.

modify

public ModificationResult modify(GUID guid,
                                 java.io.InputStream chunk,
                                 java.io.OutputStream destination)
                          throws java.io.IOException
Writes a modified copy of the chunk into the destination..

Specified by:
modify in interface ChunkModifier
Parameters:
guid - GUID of the chunk to modify.
chunk - a stream providing the chunk, starting at the chunks length field.
destination - destination for the modified chunk.
Returns:
the differences between source and destination.
Throws:
java.io.IOException - on I/O errors.