Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
  *     http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package org.apache.pig;
 
 
 
This class represents a relative position in a file. It records a filename and an offset. This allows Pig to order FileSplits.

Since:
Pig 0.7
 
 @InterfaceStability.Evolving // Since we haven't done outer join for merge join yet
 
     private static final long serialVersionUID = 1L;
     protected String filename;
     protected Long offset;
     
     //need a default constructor to be able to de-serialize using just 
     // the Writable interface
     public FileSplitComparable(){}
     
     public FileSplitComparable(String fileNamelong offset){
         this. = fileName;
         this. = offset;
     }
 
 
     @Override
     public int compareTo(FileSplitComparable other) {
         int rc = .compareTo(other.filename);
         if (rc == 0)
             rc = Long.signum( - other.offset);
         return rc;
     }
 
 
     @Override
     public void readFields(DataInput inthrows IOException {
          = (String) DataReaderWriter.readDatum(in);
          = (Long)DataReaderWriter.readDatum(in);
     }
 
 
     @Override
     public void write(DataOutput outthrows IOException {
         DataReaderWriter.writeDatum(out);
         DataReaderWriter.writeDatum(out);
     }
 
     @Override
     public String toString(){
         return "FileName: '" +  + "' Offset: " + 
     }
 
     /* (non-Javadoc)
      * @see java.lang.Object#hashCode()
      */
     @Override
     public int hashCode() {
         final int prime = 31;
         int result = 1;
         result = prime * result
                 + (( == null) ? 0 : .hashCode());
         result = prime * result + (( == null) ? 0 : .hashCode());
         return result;
     }
 
     /* (non-Javadoc)
      * @see java.lang.Object#equals(java.lang.Object)
      */
     @Override
     public boolean equals(Object obj) {
         if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        FileSplitComparable other = (FileSplitComparableobj;
        if ( == null) {
            if (other.filename != null)
                return false;
        } else if (!.equals(other.filename))
            return false;
        if ( == null) {
            if (other.offset != null)
                return false;
        } else if (!.equals(other.offset))
            return false;
        return true;
    }
New to GrepCode? Check out our FAQ X