org.apache.hadoop.contrib.index.mapred
Class Shard

java.lang.Object
  extended by org.apache.hadoop.contrib.index.mapred.Shard
All Implemented Interfaces:
Comparable, Writable, WritableComparable

public class Shard
extends Object
implements WritableComparable

This class represents the metadata of a shard. Version is the version number of the entire index. Directory is the directory where this shard resides in. Generation is the Lucene index's generation. Version and generation are reserved for future use. Note: Currently the version number of the entire index is not used and defaults to -1.


Constructor Summary
Shard()
          Constructor.
Shard(long version, String dir, long gen)
          Construct a shard from a versio number, a directory and a generation number.
Shard(Shard shard)
          Construct using a shard object.
 
Method Summary
 int compareTo(Object o)
           
 int compareTo(Shard other)
          Compare to another shard.
 boolean equals(Object o)
           
 String getDirectory()
          Get the directory where this shard resides.
 long getGeneration()
          Get the generation of the Lucene instance.
static Shard[] getIndexShards(IndexUpdateConfiguration conf)
           
 long getVersion()
          Get the version number of the entire index.
 int hashCode()
           
static String normalizePath(String path)
           
 void readFields(DataInput in)
          Deserialize the fields of this object from in.
static void setIndexShards(IndexUpdateConfiguration conf, Shard[] shards)
           
 String toString()
           
 void write(DataOutput out)
          Serialize the fields of this object to out.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Shard

public Shard()
Constructor.


Shard

public Shard(long version,
             String dir,
             long gen)
Construct a shard from a versio number, a directory and a generation number.

Parameters:
version - the version number of the entire index
dir - the directory where this shard resides
gen - the generation of the Lucene instance

Shard

public Shard(Shard shard)
Construct using a shard object.

Parameters:
shard - the shard used by the constructor
Method Detail

normalizePath

public static String normalizePath(String path)

setIndexShards

public static void setIndexShards(IndexUpdateConfiguration conf,
                                  Shard[] shards)

getIndexShards

public static Shard[] getIndexShards(IndexUpdateConfiguration conf)

getVersion

public long getVersion()
Get the version number of the entire index.

Returns:
the version number of the entire index

getDirectory

public String getDirectory()
Get the directory where this shard resides.

Returns:
the directory where this shard resides

getGeneration

public long getGeneration()
Get the generation of the Lucene instance.

Returns:
the generation of the Lucene instance

toString

public String toString()
Overrides:
toString in class Object

write

public void write(DataOutput out)
           throws IOException
Description copied from interface: Writable
Serialize the fields of this object to out.

Specified by:
write in interface Writable
Parameters:
out - DataOuput to serialize this object into.
Throws:
IOException

readFields

public void readFields(DataInput in)
                throws IOException
Description copied from interface: Writable
Deserialize the fields of this object from in.

For efficiency, implementations should attempt to re-use storage in the existing object where possible.

Specified by:
readFields in interface Writable
Parameters:
in - DataInput to deseriablize this object from.
Throws:
IOException

compareTo

public int compareTo(Object o)
Specified by:
compareTo in interface Comparable

compareTo

public int compareTo(Shard other)
Compare to another shard.

Parameters:
other - another shard
Returns:
compare version first, then directory and finally generation

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object


Copyright © 2009 The Apache Software Foundation