org.apache.hadoop.io.compress
Class CompressionCodecFactory

java.lang.Object
  extended by org.apache.hadoop.io.compress.CompressionCodecFactory

public class CompressionCodecFactory
extends Object

A factory that will find the correct codec for a given filename.


Field Summary
static org.apache.commons.logging.Log LOG
           
 
Constructor Summary
CompressionCodecFactory(Configuration conf)
          Find the codecs specified in the config value io.compression.codecs and register them.
 
Method Summary
 CompressionCodec getCodec(Path file)
          Find the relevant compression codec for the given file based on its filename suffix.
static List<Class<? extends CompressionCodec>> getCodecClasses(Configuration conf)
          Get the list of codecs listed in the configuration
static void main(String[] args)
          A little test program.
static String removeSuffix(String filename, String suffix)
          Removes a suffix from a filename, if it has it.
static void setCodecClasses(Configuration conf, List<Class> classes)
          Sets a list of codec classes in the configuration.
 String toString()
          Print the extension map out as a string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

public static final org.apache.commons.logging.Log LOG
Constructor Detail

CompressionCodecFactory

public CompressionCodecFactory(Configuration conf)
Find the codecs specified in the config value io.compression.codecs and register them. Defaults to gzip and zip.

Method Detail

toString

public String toString()
Print the extension map out as a string.

Overrides:
toString in class Object

getCodecClasses

public static List<Class<? extends CompressionCodec>> getCodecClasses(Configuration conf)
Get the list of codecs listed in the configuration

Parameters:
conf - the configuration to look in
Returns:
a list of the Configuration classes or null if the attribute was not set

setCodecClasses

public static void setCodecClasses(Configuration conf,
                                   List<Class> classes)
Sets a list of codec classes in the configuration.

Parameters:
conf - the configuration to modify
classes - the list of classes to set

getCodec

public CompressionCodec getCodec(Path file)
Find the relevant compression codec for the given file based on its filename suffix.

Parameters:
file - the filename to check
Returns:
the codec object

removeSuffix

public static String removeSuffix(String filename,
                                  String suffix)
Removes a suffix from a filename, if it has it.

Parameters:
filename - the filename to strip
suffix - the suffix to remove
Returns:
the shortened filename

main

public static void main(String[] args)
                 throws Exception
A little test program.

Parameters:
args -
Throws:
Exception


Copyright © 2009 The Apache Software Foundation