<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<!-- Generated by the JDiff Javadoc doclet -->
<!-- (http://www.jdiff.org) -->
<!-- on Tue Jun 20 13:45:27 CEST 2017 -->

<api
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  xsi:noNamespaceSchemaLocation='api.xsd'
  name="pig 0.17.0"
  jdversion="1.0.9">

<!--  Command line arguments =  -doclet jdiff.JDiff -docletpath /Users/szita/shadow/apache/pig/17RC/build/ivy/lib/Pig/jdiff-1.0.9.jar:/Users/szita/shadow/apache/pig/17RC/build/ivy/lib/Pig/xercesImpl-2.10.0.jar -classpath /Users/szita/.ivy2/cache/xmlenc/xmlenc/jars/xmlenc-0.52.jar:/Users/szita/.ivy2/cache/com.sun.jersey/jersey-bundle/jars/jersey-bundle-1.8.jar:/Users/szita/.ivy2/cache/com.sun.jersey/jersey-server/bundles/jersey-server-1.8.jar:/Users/szita/.ivy2/cache/com.sun.jersey.contribs/jersey-guice/jars/jersey-guice-1.8.jar:/Users/szita/.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.4.jar:/Users/szita/.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.1.jar:/Users/szita/.ivy2/cache/commons-configuration/commons-configuration/jars/commons-configuration-1.6.jar:/Users/szita/.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.1.jar:/Users/szita/.ivy2/cache/javax.servlet/servlet-api/jars/servlet-api-2.5.jar:/Users/szita/.ivy2/cache/javax.ws.rs/jsr311-api/jars/jsr311-api-1.1.1.jar:/Users/szita/.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar:/Users/szita/.ivy2/cache/javax.inject/javax.inject/jars/javax.inject-1.jar:/Users/szita/.ivy2/cache/javax.xml.bind/jaxb-api/jars/jaxb-api-2.2.2.jar:/Users/szita/.ivy2/cache/com.sun.xml.bind/jaxb-impl/jars/jaxb-impl-2.2.3-1.jar:/Users/szita/.ivy2/cache/com.google.inject/guice/jars/guice-3.0.jar:/Users/szita/.ivy2/cache/com.google.inject.extensions/guice-servlet/jars/guice-servlet-3.0.jar:/Users/szita/.ivy2/cache/aopalliance/aopalliance/jars/aopalliance-1.0.jar:/Users/szita/.ivy2/cache/org.mortbay.jetty/jsp-2.1/jars/jsp-2.1-6.1.14.jar:/Users/szita/.ivy2/cache/org.mortbay.jetty/jsp-api-2.1/jars/jsp-api-2.1-6.1.14.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-annotations/jars/hadoop-annotations-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-auth/jars/hadoop-auth-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-common/testss/hadoop-common-2.7.3-tests.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-common/jars/hadoop-common-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-hdfs/testss/hadoop-hdfs-2.7.3-tests.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-hdfs/jars/hadoop-hdfs-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-core/jars/hadoop-mapreduce-client-core-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-jobclient/testss/hadoop-mapreduce-client-jobclient-2.7.3-tests.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-jobclient/jars/hadoop-mapreduce-client-jobclient-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-tests/jars/hadoop-yarn-server-tests-2.7.3-tests.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-app/jars/hadoop-mapreduce-client-app-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-shuffle/jars/hadoop-mapreduce-client-shuffle-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-common/jars/hadoop-mapreduce-client-common-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-api/jars/hadoop-yarn-api-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-common/jars/hadoop-yarn-common-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-web-proxy/jars/hadoop-yarn-server-web-proxy-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-common/jars/hadoop-yarn-server-common-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-nodemanager/jars/hadoop-yarn-server-nodemanager-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-resourcemanager/jars/hadoop-yarn-server-resourcemanager-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-client/jars/hadoop-yarn-client-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-yarn-server-applicationhistoryservice/jars/hadoop-yarn-server-applicationhistoryservice-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.hadoop/hadoop-mapreduce-client-hs/jars/hadoop-mapreduce-client-hs-2.7.3.jar:/Users/szita/.ivy2/cache/org.apache.avro/avro-mapred/jars/avro-mapred-1.7.5-hadoop2.jar:/Users/szita/.ivy2/cache/org.apache.avro/avro-ipc/jars/avro-ipc-1.7.5-tests.jar:/Users/szita/.ivy2/cache/org.apache.avro/avro/jars/avro-1.7.5.jar:/Users/szita/.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.3.jar:/Users/szita/.ivy2/cache/org.apache.commons/commons-compress/jars/commons-compress-1.4.1.jar:/Users/szita/.ivy2/cache/org.tukaani/xz/jars/xz-1.0.jar:/Users/szita/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.6.4.jar:/Users/szita/.ivy2/cache/org.mortbay.jetty/jetty/jars/jetty-6.1.26.jar:/Users/szita/.ivy2/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.26.jar:/Users/szita/.ivy2/cache/org.mortbay.jetty/servlet-api/jars/servlet-api-2.5-20081211.jar:/Users/szita/.ivy2/cache/org.apache.velocity/velocity/jars/velocity-1.7.jar:/Users/szita/.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.4.jar:/Users/szita/.ivy2/cache/org.htrace/htrace-core/jars/htrace-core-3.0.4.jar:/Users/szita/.ivy2/cache/org.apache.htrace/htrace-core/jars/htrace-core-3.1.0-incubating.jar:/Users/szita/.ivy2/cache/org.fusesource.leveldbjni/leveldbjni-all/bundles/leveldbjni-all-1.8.jar:/Users/szita/.ivy2/cache/org.apache.hive.shims/hive-shims-0.23/jars/hive-shims-0.23-1.2.1.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-common/jars/tez-common-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-api/jars/tez-api-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-dag/jars/tez-dag-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-runtime-internals/jars/tez-runtime-internals-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-runtime-library/jars/tez-runtime-library-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-mapreduce/jars/tez-mapreduce-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.tez/tez-yarn-timeline-history-with-acls/jars/tez-yarn-timeline-history-with-acls-0.7.0.jar:/Users/szita/.ivy2/cache/org.apache.commons/commons-collections4/jars/commons-collections4-4.0.jar:/Users/szita/.ivy2/cache/org.codehaus.jettison/jettison/bundles/jettison-1.3.4.jar:/Users/szita/.ivy2/cache/org.apache.commons/commons-math3/jars/commons-math3-3.1.1.jar:/Users/szita/.ivy2/cache/org.apache.curator/curator-framework/bundles/curator-framework-2.6.0.jar:/Users/szita/.ivy2/cache/org.apache.curator/curator-client/bundles/curator-client-2.6.0.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-client/test-jars/hbase-client-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-client/jars/hbase-client-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-common/jars/hbase-common-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-common/test-jars/hbase-common-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-server/test-jars/hbase-server-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-server/jars/hbase-server-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-protocol/jars/hbase-protocol-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-protocol/test-jars/hbase-protocol-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-hadoop-compat/test-jars/hbase-hadoop-compat-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-hadoop-compat/jars/hbase-hadoop-compat-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-hadoop2-compat/jars/hbase-hadoop2-compat-1.2.4.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-hadoop2-compat/test-jars/hbase-hadoop2-compat-1.2.4-tests.jar:/Users/szita/.ivy2/cache/org.cloudera.htrace/htrace-core/jars/htrace-core-2.00.jar:/Users/szita/.ivy2/cache/com.lmax/disruptor/jars/disruptor-3.3.0.jar:/Users/szita/.ivy2/cache/commons-el/commons-el/jars/commons-el-1.0.jar:/Users/szita/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.3.jar:/Users/szita/.ivy2/cache/nl.basjes.parse.httpdlog/httpdlog-pigloader/jars/httpdlog-pigloader-2.4.jar:/Users/szita/.ivy2/cache/nl.basjes.parse.httpdlog/httpdlog-inputformat/jars/httpdlog-inputformat-2.4.jar:/Users/szita/.ivy2/cache/nl.basjes.parse.httpdlog/httpdlog-parser/jars/httpdlog-parser-2.4.jar:/Users/szita/.ivy2/cache/nl.basjes.parse/parser-core/jars/parser-core-2.4.jar:/Users/szita/.ivy2/cache/log4j/log4j/bundles/log4j-1.2.16.jar:/Users/szita/.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.1.jar:/Users/szita/.ivy2/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.6.1.jar:/Users/szita/.ivy2/cache/commons-cli/commons-cli/jars/commons-cli-1.2.jar:/Users/szita/.ivy2/cache/org.apache.avro/trevni-core/test-jars/trevni-core-1.7.5-tests.jar:/Users/szita/.ivy2/cache/org.apache.avro/trevni-core/jars/trevni-core-1.7.5.jar:/Users/szita/.ivy2/cache/org.apache.avro/trevni-avro/test-jars/trevni-avro-1.7.5-tests.jar:/Users/szita/.ivy2/cache/org.apache.avro/trevni-avro/jars/trevni-avro-1.7.5.jar:/Users/szita/.ivy2/cache/org.xerial.snappy/snappy-java/bundles/snappy-java-1.1.1.3.jar:/Users/szita/.ivy2/cache/com.googlecode.json-simple/json-simple/jars/json-simple-1.1.jar:/Users/szita/.ivy2/cache/jline/jline/jars/jline-2.11.jar:/Users/szita/.ivy2/cache/net.java.dev.javacc/javacc/jars/javacc-4.2.jar:/Users/szita/.ivy2/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-2.4.5.jar:/Users/szita/.ivy2/cache/org.apache.ivy/ivy/jars/ivy-2.2.0.jar:/Users/szita/.ivy2/cache/org.codehaus.jackson/jackson-mapper-asl/jars/jackson-mapper-asl-1.9.13.jar:/Users/szita/.ivy2/cache/org.codehaus.jackson/jackson-core-asl/jars/jackson-core-asl-1.9.13.jar:/Users/szita/.ivy2/cache/org.fusesource.jansi/jansi/jars/jansi-1.9.jar:/Users/szita/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.9.3.jar:/Users/szita/.ivy2/cache/com.google.guava/guava/jars/guava-11.0.jar:/Users/szita/.ivy2/cache/org.python/jython-standalone/jars/jython-standalone-2.7.0.jar:/Users/szita/.ivy2/cache/rhino/js/jars/js-1.7R2.jar:/Users/szita/.ivy2/cache/org.antlr/antlr/jars/antlr-3.4.jar:/Users/szita/.ivy2/cache/org.antlr/antlr-runtime/jars/antlr-runtime-3.4.jar:/Users/szita/.ivy2/cache/org.antlr/stringtemplate/jars/stringtemplate-3.2.1.jar:/Users/szita/.ivy2/cache/antlr/antlr/jars/antlr-2.7.7.jar:/Users/szita/.ivy2/cache/org.antlr/ST4/jars/ST4-4.0.4.jar:/Users/szita/.ivy2/cache/org.apache.zookeeper/zookeeper/jars/zookeeper-3.4.5.jar:/Users/szita/.ivy2/cache/dk.brics.automaton/automaton/jars/automaton-1.11-8.jar:/Users/szita/.ivy2/cache/org.jruby/jruby-complete/bundles/jruby-complete-1.7.26.jar:/Users/szita/.ivy2/cache/asm/asm/jars/asm-3.3.1.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-core/jars/accumulo-core-1.5.0.jar:/Users/szita/.ivy2/cache/com.beust/jcommander/jars/jcommander-1.30.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-fate/jars/accumulo-fate-1.5.0.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-start/jars/accumulo-start-1.5.0.jar:/Users/szita/.ivy2/cache/org.apache.commons/commons-vfs2/jars/commons-vfs2-2.0.jar:/Users/szita/.ivy2/cache/org.apache.maven.scm/maven-scm-api/jars/maven-scm-api-1.4.jar:/Users/szita/.ivy2/cache/org.codehaus.plexus/plexus-utils/jars/plexus-utils-1.5.6.jar:/Users/szita/.ivy2/cache/org.apache.maven.scm/maven-scm-provider-svnexe/jars/maven-scm-provider-svnexe-1.4.jar:/Users/szita/.ivy2/cache/org.apache.maven.scm/maven-scm-provider-svn-commons/jars/maven-scm-provider-svn-commons-1.4.jar:/Users/szita/.ivy2/cache/regexp/regexp/jars/regexp-1.3.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-trace/jars/accumulo-trace-1.5.0.jar:/Users/szita/.ivy2/cache/org.apache.thrift/libthrift/jars/libthrift-0.9.0.jar:/Users/szita/.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.1.3.jar:/Users/szita/.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.1.3.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-minicluster/jars/accumulo-minicluster-1.5.0.jar:/Users/szita/.ivy2/cache/org.apache.accumulo/accumulo-server/jars/accumulo-server-1.5.0.jar:/Users/szita/.ivy2/cache/com.google.code.gson/gson/jars/gson-2.2.2.jar:/Users/szita/.ivy2/cache/org.apache.hive/hive-exec/jars/hive-exec-1.2.1-core.jar:/Users/szita/.ivy2/cache/org.apache.hive/hive-serde/jars/hive-serde-1.2.1.jar:/Users/szita/.ivy2/cache/org.apache.hive/hive-common/jars/hive-common-1.2.1.jar:/Users/szita/.ivy2/cache/org.apache.hive.shims/hive-shims-common/jars/hive-shims-common-1.2.1.jar:/Users/szita/.ivy2/cache/com.esotericsoftware.kryo/kryo/bundles/kryo-2.22.jar:/Users/szita/.ivy2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.1.jar:/Users/szita/.ivy2/cache/org.vafer/jdeb/maven-plugins/jdeb-0.8.jar:/Users/szita/.ivy2/cache/com.twitter/parquet-pig-bundle/jars/parquet-pig-bundle-1.2.3.jar:/Users/szita/.ivy2/cache/org.apache.avro/avro-tools/jars/avro-tools-1.7.5-nodeps.jar:/Users/szita/.ivy2/cache/net.sf.jopt-simple/jopt-simple/jars/jopt-simple-4.1.jar:/Users/szita/.ivy2/cache/xalan/xalan/jars/xalan-2.7.1.jar:/Users/szita/.ivy2/cache/xalan/serializer/jars/serializer-2.7.1.jar:/Users/szita/.ivy2/cache/xerces/xercesImpl/jars/xercesImpl-2.10.0.jar:/Users/szita/.ivy2/cache/xml-apis/xml-apis/jars/xml-apis-1.4.01.jar:/Users/szita/.ivy2/cache/junit/junit/jars/junit-4.11.jar:/Users/szita/.ivy2/cache/io.netty/netty/bundles/netty-3.6.6.Final.jar:/Users/szita/.ivy2/cache/io.netty/netty-all/jars/netty-all-4.0.23.Final.jar:/Users/szita/.ivy2/cache/org.apache.hbase/hbase-procedure/jars/hbase-procedure-1.2.4.jar:/Users/szita/.ivy2/cache/com.yammer.metrics/metrics-core/jars/metrics-core-2.1.2.jar:/Users/szita/.ivy2/cache/hsqldb/hsqldb/jars/hsqldb-1.8.0.10.jar:/Users/szita/.ivy2/cache/org.apache.hive/hive-contrib/jars/hive-contrib-1.2.1.jar:/Users/szita/.ivy2/cache/org.iq80.snappy/snappy/jars/snappy-0.2.jar:/Users/szita/.ivy2/cache/org.mockito/mockito-all/jars/mockito-all-1.8.4.jar:/Users/szita/shadow/apache/pig/17RC/build/pig-0.17.0.jar -sourcepath /Users/szita/shadow/apache/pig/17RC/src -doclet jdiff.JDiff -docletpath /Users/szita/shadow/apache/pig/17RC/build/ivy/lib/Pig/jdiff-1.0.9.jar:/Users/szita/shadow/apache/pig/17RC/build/ivy/lib/Pig/xercesImpl-2.10.0.jar -apidir /Users/szita/shadow/apache/pig/17RC/src/docs/jdiff -apiname pig 0.17.0 -->
<package name="org.apache.pig">
  <!-- start interface org.apache.pig.Accumulator -->
  <interface name="Accumulator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="accumulate"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Pass tuples to the UDF.
 @param b A tuple containing a single field, which is a bag.  The bag will contain the set
 of tuples being passed to the UDF in this iteration.]]>
      </doc>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Called when all tuples from current key have been passed to accumulate.
 @return the value for the UDF for this key.]]>
      </doc>
    </method>
    <method name="cleanup"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Called after getValue() to prepare processing for next key.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface that allows UDFs that take a bag to accumulate tuples in chunks rather than take
 the whole set at once.  This is intended for UDFs that do not need to see all of the tuples
 together but cannot be used with the combiner.  This lowers the memory needs, avoiding the need
 to spill large bags, and thus speeds up the query.  An example is something like session analysis.
 It cannot be used with the combiner because all it's inputs must first be ordered.  But it does
 not need to see all the tuples at once.  UDF implementors might also choose to implement this
 interface so that if other UDFs in the FOREACH implement it it can be used.
 @since Pig 0.6]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.Accumulator -->
  <!-- start class org.apache.pig.AccumulatorEvalFunc -->
  <class name="AccumulatorEvalFunc" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AccumulatorEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accumulate"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class is used to provide a free implementation of the EvalFunc exec function given
 implementation of the Accumulator interface. Instead of having to provide a redundant
 implementation, this provides the base exec function for free, given that the methods
 associated with the Accumulator interface are implemented. For information on how to
 implement Accumulator, see {@link Accumulator}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.AccumulatorEvalFunc -->
  <!-- start interface org.apache.pig.Algebraic -->
  <interface name="Algebraic"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getInitial" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the initial function. 
 @return A function name of f_init. f_init should be an eval func.
 The return type of f_init.exec() has to be Tuple]]>
      </doc>
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the intermediate function. 
 @return A function name of f_intermed. f_intermed should be an eval func.
 The return type of f_intermed.exec() has to be Tuple]]>
      </doc>
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the final function. 
 @return A function name of f_final. f_final should be an eval func parametrized by
 the same datum as the eval func implementing this interface.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface to declare that an EvalFunc's 
 calculation can be decomposed into intitial, intermediate, and final steps.
 More formally, suppose we have to compute an function f over a bag X. In general, we need to know the entire X
 before we can make any progress on f. However, some functions are <i>algebraic</i> e.g. SUM. In
 these cases, you can apply some initital function f_init on subsets of X to get partial results. 
 You can then combine partial results from different subsets of X using an intermediate function
 f_intermed. To get the final answers, several partial results can be combined by invoking a final
 f_final function. For the function SUM, f_init, f_intermed, and f_final are all SUM. 
 
 See the code for builtin AVG to get a better idea of how algebraic works.
 
 When eval functions implement this interface, Pig will attempt to use MapReduce's combiner.
 The initial funciton will be called in the map phase and be passed a single tuple.  The
 intermediate function will be called 0 or more times in the combiner phase.  And the final
 function will be called once in the reduce phase.  It is important that the results be the same
 whether the intermediate function is called 0, 1, or more times.  Hadoop makes no guarantees
 about how many times the combiner will be called in a job.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.Algebraic -->
  <!-- start class org.apache.pig.AlgebraicEvalFunc -->
  <class name="AlgebraicEvalFunc" extends="org.apache.pig.AccumulatorEvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="AlgebraicEvalFunc" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[It is key that if a subclass has a constructor, that it calls super(args...) or else
 this class will not instantiate properly.]]>
      </doc>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This must be implement as per a normal Algebraic interface. See {@link Algebraic} for
 more information.]]>
      </doc>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This must be implement as per a normal Algebraic interface. See {@link Algebraic} for
 more information.]]>
      </doc>
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This must be implement as per a normal Algebraic interface. See {@link Algebraic} for
 more information.]]>
      </doc>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This is the free accumulate implementation based on the static classes provided
 by the Algebraic static classes. This implemention works by leveraging the
 initial, intermediate, and final classes provided by the algebraic interface.
 The exec function of the Initial EvalFunc will be called on every Tuple of the input
 and the output will be collected in an intermediate state. Periodically, this intermediate
 state will have the Intermediate EvalFunc called on it 1 or more times. The Final EvalFunc
 is not called until getValue() is called.]]>
      </doc>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Per the Accumulator interface, this clears all of the variables used in the implementation.]]>
      </doc>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This function returns the ultimate result. It is when getValue() is called that
 the Final EvalFunc's exec function is called on the accumulated data.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class is used to provide a free implementation of the Accumulator interface
 and EvalFunc class in the case of an Algebraic function. Instead of having to provide
 redundant implementations for Accumulator and EvalFunc, implementing the
 getInitial, getIntermed, and getFinal methods (which implies implementing the static classes
 they reference) will give you an implementation of each of those for free. <br><br>
 One key thing to note is that if a subclass of AlgebraicEvalFunc wishes to use any constructor
 arguments, it MUST call super(args).
 <br><br>
 IMPORTANT: the implementation of the Accumulator interface that this class provides is good,
 but it is simulated. For maximum efficiency, it is important to manually implement the accumulator
 interface. See {@link Accumulator} for more information on how to do so.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.AlgebraicEvalFunc -->
  <!-- start interface org.apache.pig.CollectableLoadFunc -->
  <interface name="CollectableLoadFunc"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="ensureAllKeyInstancesInSameSplit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[When this method is called, Pig is communicating to the Loader that it must
 load data such that all instances of a key are in same split. Pig will
 make no further checks at runtime to ensure whether the contract is honored
 or not.
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface implemented by a {@link LoadFunc} implementations indicates to 
 Pig that it has the capability to load data such that all instances of a key 
 will occur in same split.
 @since Pig 0.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.CollectableLoadFunc -->
  <!-- start class org.apache.pig.ComparisonFunc -->
  <class name="ComparisonFunc" extends="org.apache.hadoop.io.WritableComparator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ComparisonFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="b" type="org.apache.hadoop.io.WritableComparable"/>
      <doc>
      <![CDATA[Compare two tuples.  Note that even though both args are given type of
 WritableComparable to match the WritableComparable interface, they
 must both be tuples.
 @param a first tuple
 @param b tuple to compare a to
 @return -1 if a &lt; b, 1 if a &gt; b, 0 if a = b]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="org.apache.pig.data.Tuple"/>
      <param name="t2" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[This callback method must be implemented by all subclasses. Compares 
 its two arguments for order.  The order of elements of the tuples correspond 
 to the fields specified in the order by clause. 
 Same semantics as {@link java.util.Comparator}.
 
 @param t1 the first Tuple to be compared.
 @param t2 the second Tuple to be compared.
 @return  Returns a negative integer, zero, or a positive integer as the first
 argument is less than, equal to, or greater than the second. 
 @throws IOException
 @see java.util.Comparator]]>
      </doc>
    </method>
    <method name="setReporter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
      <doc>
      <![CDATA[Set the reporter.  If the comparison takes a long time the
 reporter should be called occasionally to avoid Hadoop timing out
 underneath.  The default Hadoop timeout is 600 seconds.
 @param reporter Progress reporter]]>
      </doc>
    </method>
    <field name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An interface for custom order by comparator function.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.ComparisonFunc -->
  <!-- start class org.apache.pig.CounterBasedErrorHandler -->
  <class name="CounterBasedErrorHandler" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ErrorHandler"/>
    <constructor name="CounterBasedErrorHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="onSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uniqueSignature" type="java.lang.String"/>
    </method>
    <method name="onError"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uniqueSignature" type="java.lang.String"/>
      <param name="e" type="java.lang.Exception"/>
      <param name="inputTuple" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getRecordCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="storeSignature" type="java.lang.String"/>
    </method>
    <field name="STORER_ERROR_HANDLER_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STORER_ERROR_COUNT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STORER_RECORD_COUNT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.CounterBasedErrorHandler -->
  <!-- start interface org.apache.pig.ErrorHandler -->
  <interface name="ErrorHandler"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="onSuccess"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uniqueSignature" type="java.lang.String"/>
      <doc>
      <![CDATA[Method invoked on success processing of tuple
 
 @param uniqueSignature
            a unique signature to identify the operator]]>
      </doc>
    </method>
    <method name="onError"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uniqueSignature" type="java.lang.String"/>
      <param name="e" type="java.lang.Exception"/>
      <param name="inputTuple" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Method invoked when an error occurs processing of tuple
 
 @param uniqueSignature
            a unique signature to identify the operator
 @param e
            Exception encountered while processing input
 @param inputTuple
            the tuple to store.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The interface that handles errors thrown by the
 {@link StoreFuncInterface#putNext(Tuple)}]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.ErrorHandler -->
  <!-- start interface org.apache.pig.ErrorHandling -->
  <interface name="ErrorHandling"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getErrorHandler" return="org.apache.pig.ErrorHandler"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method is called to determine the ErrorHandler implementation that
 to handle errors in {@code StoreFunc#putNext(Tuple)}
 
 @return OutputErrorHandler implementation for store func]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A {@link StoreFunc} should implement this interface to enable handling errors
 during {@code StoreFunc#putNext(Tuple)}]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.ErrorHandling -->
  <!-- start class org.apache.pig.EvalFunc -->
  <class name="EvalFunc" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchemaName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getReturnType" return="java.lang.reflect.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the Type that this EvalFunc returns.
 @return Type]]>
      </doc>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Utility method to allow UDF to report progress.  If exec will take more than a
 a few seconds {@link PigProgressable#progress} should be called
 occasionally to avoid timeouts.  Default Hadoop timeout is 600 seconds.]]>
      </doc>
    </method>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
      <doc>
      <![CDATA[Issue a warning.  Warning messages are aggregated and reported to
 the user.
 @param msg String message of the warning
 @param warningEnum type of warning]]>
      </doc>
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Placeholder for cleanup to be performed at the end. User defined functions can override.
 Default implementation is a no-op.]]>
      </doc>
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This callback method must be implemented by all subclasses. This
 is the method that will be invoked on every Tuple of a given dataset.
 Since the dataset may be divided up in a variety of ways the programmer
 should not make assumptions about state that is maintained between
 invocations of this method.

 @param input the Tuple to be processed.
 @return result, of type T.
 @throws IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[Report the schema of the output of this UDF.  Pig will make use of
 this in error checking, optimization, and planning.  The schema
 of input data to this UDF is provided.
 <p>
 The default implementation interprets the {@link OutputSchema} annotation,
 if one is present. Otherwise, it returns <code>null</code> (no known output schema).

 @param input Schema of the input
 @return Schema of the output]]>
      </doc>
    </method>
    <method name="isAsynchronous" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This function should be overriden to return true for functions that return their values
 asynchronously.  Currently pig never attempts to execute a function
 asynchronously.
 @return true if the function can be executed asynchronously.]]>
      </doc>
    </method>
    <method name="getReporter" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setReporter"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
      <doc>
      <![CDATA[Set the reporter.  Called by Pig to provide a reference of
 the reporter to the UDF.
 @param reporter Hadoop reporter]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Allow a UDF to specify type specific implementations of itself.  For example,
 an implementation of arithmetic sum might have int and float implementations,
 since integer arithmetic performs much better than floating point arithmetic.  Pig's
 typechecker will call this method and using the returned list plus the schema
 of the function's input data, decide which implementation of the UDF to use.
 @return A List containing FuncSpec objects representing the EvalFunc class
 which can handle the inputs corresponding to the schema in the objects.  Each
 FuncSpec should be constructed with a schema that describes the input for that
 implementation.  For example, the sum function above would return two elements in its
 list:
 <ol>
 <li>FuncSpec(this.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.DOUBLE)))
 <li>FuncSpec(IntSum.getClass().getName(), new Schema(new Schema.FieldSchema(null, DataType.INTEGER)))
 </ol>
 This would indicate that the main implementation is used for doubles, and the special
 implementation IntSum is used for ints.]]>
      </doc>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a UDF to specify a list of hdfs files it would like placed in the distributed
 cache.  These files will be put in the cache for every job the UDF is used in.
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a UDF to specify a list of local files it would like placed in the distributed
 cache. These files will be put in the cache for every job the UDF is used in. Check for
 {@link FuncUtils} for utility function to facilitate it
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <method name="getPigLogger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPigLogger"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="pigLogger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"/>
      <doc>
      <![CDATA[Set the PigLogger object.  Called by Pig to provide a reference
 to the UDF.
 @param pigLogger PigLogger object.]]>
      </doc>
    </method>
    <method name="getLogger" return="org.apache.commons.logging.Log"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[This method will be called by Pig both in the front end and back end to
 pass a unique signature to the {@link EvalFunc}. The signature can be used
 to store into the {@link UDFContext} any information which the
 {@link EvalFunc} needs to store between various method invocations in the
 front end and back end.
 @param signature a unique signature to identify this EvalFunc]]>
      </doc>
    </method>
    <method name="setInputSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This method is for internal use. It is called by Pig core in both front-end
 and back-end to setup the right input schema for EvalFunc]]>
      </doc>
    </method>
    <method name="getInputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method is intended to be called by the user in {@link EvalFunc} to get the input
 schema of the EvalFunc]]>
      </doc>
    </method>
    <method name="getSchemaType" return="org.apache.pig.EvalFunc.SchemaType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the {@link SchemaType} of the EvalFunc. User defined functions can override
 this method to return {@link SchemaType#VARARG}. In this case the last FieldSchema
 added to the Schema in {@link #getArgToFuncMapping()} will be considered as a vararg field.
 
 @return the schema type of the UDF]]>
      </doc>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Whether the UDF should be evaluated at compile time if all inputs are constant.
 This is applicable for most UDF, however, if a UDF will access hdfs file which
 is not available at compile time, it has to be false
 @return Whether or not compile time calculation is allowed, default to false
 to ensure legacy UDF will get the right behavior]]>
      </doc>
    </method>
    <method name="needEndOfAllInputProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfAllInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endOfAllInput" type="boolean"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This will be called on both the front end and the back
 end during execution.
 @return the {@link LoadCaster} associated with this eval. Returning null
 indicates that casts from bytearray will pick the one associated with the
 parameters when they all come from the same loadcaster type.
 @throws IOException if there is an exception during LoadCaster]]>
      </doc>
    </method>
    <field name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reporter to send heartbeats to Hadoop.  If exec will take more than a
 a few seconds {@link PigProgressable#progress} should be called
 occasionally to avoid timeouts.  Default Hadoop timeout is 600 seconds.]]>
      </doc>
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Logging object.  Log calls made on the front end will be sent to
 pig's log on the client.  Log calls made on the backend will be
 sent to stdout and can be seen in the Hadoop logs.]]>
      </doc>
    </field>
    <field name="pigLogger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Logger for aggregating warnings.  Any warnings to be sent to the user
 should be logged to this via {@link PigLogger#warn}.]]>
      </doc>
    </field>
    <field name="returnType" type="java.lang.reflect.Type"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return type of this instance of EvalFunc.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[The class is used to implement functions to be applied to
 fields in a dataset. The function is applied to each Tuple in the set.
 The programmer should not make assumptions about state maintained
 between invocations of the exec() method since the Pig runtime
 will schedule and localize invocations based on information provided
 at runtime.  The programmer also should not make assumptions about when or
 how many times the class will be instantiated, since it may be instantiated
 multiple times in both the front and back end.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.EvalFunc -->
  <!-- start class org.apache.pig.EvalFunc.SchemaType -->
  <class name="EvalFunc.SchemaType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.EvalFunc.SchemaType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.EvalFunc.SchemaType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="NORMAL" type="org.apache.pig.EvalFunc.SchemaType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="VARARG" type="org.apache.pig.EvalFunc.SchemaType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[EvalFunc's schema type.
 @see {@link EvalFunc#getSchemaType()}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.EvalFunc.SchemaType -->
  <!-- start interface org.apache.pig.ExceptionalFunction -->
  <interface name="ExceptionalFunction"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="apply" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="item" type="java.lang.Object"/>
      <exception name="Exception" type="java.lang.Exception"/>
      <doc>
      <![CDATA[Performs a unit of work on item, possibly throwing {@code E} in the process.

 @param item The item to perform work against.
 @return The result of the computation.
 @throws E if there was a problem performing the work.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface that captures a unit of work against an item where an exception might be thrown.

 @param <S> The argument type for the function.
 @param <T> The return type for the function.
 @param <E> The exception type that the function throws.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.ExceptionalFunction -->
  <!-- start interface org.apache.pig.ExecType -->
  <interface name="ExecType"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <method name="accepts" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <doc>
      <![CDATA[An ExecType is selected based off the Properties for the given script.
 There may be multiple settings that trigger the selection of a given
 ExecType. For example, distributed MR mode is currently triggered if the
 user specifies "mapred" or "mapreduce". It is desirable to override the
 toString method of the given ExecType to uniquely identify the ExecType.
 
 The initialize method should return true if it accepts the properties or
 false if it does not. The Java ServiceLoader framework will be used to
 iterate through and select the correct ExecType.]]>
      </doc>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[Returns the Execution Engine that this ExecType is associated with. Once
 the ExecType the script is running in is determined by the PigServer, it
 will then call this method to get an instance of the ExecutionEngine
 associated with this ExecType to delegate all further execution to on the
 backend.]]>
      </doc>
    </method>
    <method name="getExecutionEngineClass" return="java.lang.Class"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the Execution Engine class that this ExecType is associated with.
 This method simply returns the class of the ExecutionEngine associated
 with this ExecType, and not an instance of it.]]>
      </doc>
    </method>
    <method name="isLocal" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[An ExecType is classified as local if it runs in-process and through the
 local filesystem. While an ExecutionEngine may have a more nuanced notion
 of local mode, these are the qualifications Pig requires.
 ExecutionEngines can extend the ExecType interface to additionally
 differentiate between ExecTypes as necessary.]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the canonical name for this ExecType.
 @return]]>
      </doc>
    </method>
    <field name="LOCAL" type="org.apache.pig.ExecType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAPREDUCE" type="org.apache.pig.ExecType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The type of query execution. Pig will cycle through all implementations
 of ExecType and choose the first one that matches the Properties passed in.
 This ExecType then dictates the ExecutionEngine used for processing and 
 other behaviour throughout Pig. Any implementing classes should be noted in
 the META-INF/services folder titled org.apache.pig.ExecType as per the 
 Java ServiceLoader specification.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.ExecType -->
  <!-- start class org.apache.pig.ExecTypeProvider -->
  <class name="ExecTypeProvider" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExecTypeProvider"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="selectExecType" return="org.apache.pig.ExecType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <exception name="PigException" type="org.apache.pig.PigException"/>
    </method>
    <method name="fromString" return="org.apache.pig.ExecType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="execType" type="java.lang.String"/>
      <exception name="PigException" type="org.apache.pig.PigException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.ExecTypeProvider -->
  <!-- start class org.apache.pig.Expression -->
  <class name="Expression" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Expression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOpType" return="org.apache.pig.Expression.OpType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the opType]]>
      </doc>
    </method>
    <field name="opType" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A class to communicate Filter expressions to LoadFuncs.
 @since Pig 0.7]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.Expression -->
  <!-- start class org.apache.pig.Expression.BetweenExpression -->
  <class name="Expression.BetweenExpression" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BetweenExpression" type="java.lang.Object, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLower" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getUpper" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.BetweenExpression -->
  <!-- start class org.apache.pig.Expression.BinaryExpression -->
  <class name="Expression.BinaryExpression" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinaryExpression" type="org.apache.pig.Expression, org.apache.pig.Expression, org.apache.pig.Expression.OpType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param lhs
 @param rhs]]>
      </doc>
    </constructor>
    <method name="getLhs" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the left hand operand]]>
      </doc>
    </method>
    <method name="getRhs" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the right hand operand]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.BinaryExpression -->
  <!-- start class org.apache.pig.Expression.Column -->
  <class name="Expression.Column" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Column" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param name]]>
      </doc>
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the name]]>
      </doc>
    </method>
    <method name="setName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[@param name the name to set]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.Column -->
  <!-- start class org.apache.pig.Expression.Const -->
  <class name="Expression.Const" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Const" type="java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the value]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.Const -->
  <!-- start class org.apache.pig.Expression.InExpression -->
  <class name="Expression.InExpression" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InExpression" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValues" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.InExpression -->
  <!-- start class org.apache.pig.Expression.OpType -->
  <class name="Expression.OpType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.Expression.OpType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.Expression.OpType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="OP_PLUS" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_MINUS" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_TIMES" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_DIV" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_MOD" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_EQ" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_NE" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_GT" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_GE" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_LT" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_LE" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_MATCH" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_IN" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_BETWEEN" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_NULL" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_NOT" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_AND" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OP_OR" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TERM_COL" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TERM_CONST" type="org.apache.pig.Expression.OpType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.Expression.OpType -->
  <!-- start class org.apache.pig.Expression.UnaryExpression -->
  <class name="Expression.UnaryExpression" extends="org.apache.pig.Expression"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnaryExpression" type="org.apache.pig.Expression, org.apache.pig.Expression.OpType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getExpression" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.Expression.UnaryExpression -->
  <!-- start class org.apache.pig.FileInputLoadFunc -->
  <class name="FileInputLoadFunc" extends="org.apache.pig.LoadFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.OrderedLoadFunc"/>
    <constructor name="FileInputLoadFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSplitComparable" return="org.apache.hadoop.io.WritableComparable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class provides an implementation of OrderedLoadFunc interface
 which can be optionally re-used by LoadFuncs that use FileInputFormat, by
 having this as a super class
 @since Pig 0.7]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.FileInputLoadFunc -->
  <!-- start class org.apache.pig.FileSplitComparable -->
  <class name="FileSplitComparable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <implements name="java.io.Serializable"/>
    <constructor name="FileSplitComparable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FileSplitComparable" type="java.lang.String, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.FileSplitComparable"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <field name="filename" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="offset" type="java.lang.Long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[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]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.FileSplitComparable -->
  <!-- start class org.apache.pig.FilterFunc -->
  <class name="FilterFunc" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FilterFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Placeholder for cleanup to be performed at the end. User defined functions can override.
 Default implementation is a no-op.]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.FilterFunc -->
  <!-- start class org.apache.pig.FuncSpec -->
  <class name="FuncSpec" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="FuncSpec" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param className the name of the class for the udf
 @param ctorArg the argument to pass the constructor for the above class.
 Constructors can only take strings.]]>
      </doc>
    </constructor>
    <constructor name="FuncSpec" type="java.lang.String, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param className the name of the class for the udf
 @param ctorArgs the arguments to pass to the constructor for the above class.
 Constructors can only take strings.]]>
      </doc>
    </constructor>
    <constructor name="FuncSpec" type="java.lang.String, java.lang.String[], org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param className the name of the class for the udf
 @param ctorArgs the arguments to pass to the constructor for the above class.
 Constructors can only take strings.
 @param inputArgsSchema schema for input args taken by this Function]]>
      </doc>
    </constructor>
    <constructor name="FuncSpec" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param funcSpec the name of the function and any arguments.
 It should have the form: classname('arg1', 'arg2', ...)]]>
      </doc>
    </constructor>
    <constructor name="FuncSpec" type="java.lang.String, org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param funcSpec funcSpec the name of the function and any arguments.
 It should have the form: classname('arg1', 'arg2', ...)
 @param inputArgsSchema schema for input args taken by this Function]]>
      </doc>
    </constructor>
    <method name="getClassNameFromSpec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="java.lang.String"/>
      <doc>
      <![CDATA[Parse the class name out of a function specification string.
 @return name of the class.]]>
      </doc>
    </method>
    <method name="getArgStringFromSpec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="java.lang.String"/>
      <doc>
      <![CDATA[Get the argument values passed to the func spec.
 @return argument values.  Format will be arg1, arg2, ... )]]>
      </doc>
    </method>
    <method name="parseArguments" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="argString" type="java.lang.String"/>
      <doc>
      <![CDATA[Parse the argument values out of a function specification string.
 @param argString should be of the form "'arg1', 'arg2', ..."
 @return List of the different argument strings]]>
      </doc>
    </method>
    <method name="getClassName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the className]]>
      </doc>
    </method>
    <method name="setClassName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="className" type="java.lang.String"/>
      <doc>
      <![CDATA[@param className the className to set]]>
      </doc>
    </method>
    <method name="getCtorArgs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the ctorArgs]]>
      </doc>
    </method>
    <method name="setCtorArgs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ctorArgs" type="java.lang.String[]"/>
      <doc>
      <![CDATA[@param ctorArgs the ctorArgs to set]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputArgsSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the inputArgsSchema]]>
      </doc>
    </method>
    <method name="setInputArgsSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputArgsSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[@param inputArgsSchema the inputArgsSchema to set]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Class to represent a UDF specification.
 Encapsulates the class name and the arguments to the constructor.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.FuncSpec -->
  <!-- start interface org.apache.pig.Function -->
  <interface name="Function"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ExceptionalFunction"/>
    <implements name="com.google.common.base.Function"/>
    <method name="apply" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="item" type="java.lang.Object"/>
    </method>
    <doc>
    <![CDATA[A convenience typedef that ties into both google's {@code Function} and
 {@code ExceptionalFunction}.

 @param <S> The argument type for the function.
 @param <T> The return type for the function.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.Function -->
  <!-- start interface org.apache.pig.IndexableLoadFunc -->
  <interface name="IndexableLoadFunc"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="initialize"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called by Pig run time to allow the
 IndexableLoadFunc to perform any initialization actions
 @param conf The job configuration object
 @throws IOException]]>
      </doc>
    </method>
    <method name="seekNear"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keys" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called by the Pig runtime to indicate
 to the LoadFunc to position its underlying input stream
 near the keys supplied as the argument. Specifically:
 1) if the keys are present in the input stream, the loadfunc
 implementation should position its read position to 
 a record where the key(s) is/are the biggest key(s) less than
 the key(s) supplied in the argument OR to the record with the
 first occurrence of the keys(s) supplied.
 2) if the key(s) are absent in the input stream, the implementation
 should position its read position to a record where the key(s)
 is/are the biggest key(s) less than the key(s) supplied OR to the
 first record where the key(s) is/are the smallest key(s) greater
 than the keys(s) supplied. 
 The description above holds for descending order data in 
 a similar manner with "biggest" and "less than" replaced with
 "smallest" and "greater than" and vice versa.
  
 @param keys Tuple with join keys (which are a prefix of the sort
 keys of the input data). For example if the data is sorted on
 columns in position 2,4,5 any of the following Tuples are
 valid as an argument value:
 (fieldAt(2))
 (fieldAt(2), fieldAt(4))
 (fieldAt(2), fieldAt(4), fieldAt(5))
 
 The following are some invalid cases:
 (fieldAt(4))
 (fieldAt(2), fieldAt(5))
 (fieldAt(4), fieldAt(5))
 
 @throws IOException When the loadFunc is unable to position
 to the required point in its input stream]]>
      </doc>
    </method>
    <method name="close"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[A method called by the Pig runtime to give an opportunity
 for implementations to perform cleanup actions like closing
 the underlying input stream. This is necessary since while
 performing a join the Pig run time may determine than no further
 join is possible with remaining records and may indicate to the
 IndexableLoader to cleanup by calling this method.
 
 @throws IOException if the loadfunc is unable to perform
 its close actions.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class is intended for use by LoadFunc implementations
 which have an internal index for sorted data and can use the index
 to support merge join in Pig. Interaction with the index 
 is abstracted away by the methods in this interface which the Pig
 runtime will call in a particular sequence to get the records it
 needs to perform the merge based join.
 
 The sequence of calls made from the Pig runtime are:
 <ol>
 <li>{@link LoadFunc#setUDFContextSignature(String)}
 <li>{@link IndexableLoadFunc#initialize(Configuration)}
 <li>{@link LoadFunc#setLocation(String, org.apache.hadoop.mapreduce.Job)}
 <li>{@link IndexableLoadFunc#seekNear(Tuple)}
 <li>{@link LoadFunc#getNext} called multiple times to retrieve data and perform the join
 <li>{@link IndexableLoadFunc#close}
 </ol>
 @since Pig 0.6]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.IndexableLoadFunc -->
  <!-- start class org.apache.pig.IteratingAccumulatorEvalFunc -->
  <class name="IteratingAccumulatorEvalFunc" extends="org.apache.pig.AccumulatorEvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.TerminatingAccumulator"/>
    <constructor name="IteratingAccumulatorEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isFinished" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="iter" type="java.util.Iterator"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class provides a much more intuitive way to write Accumulator UDFs.<br>
 For example, you could express IsEmpty as follows:
 <pre><code>public class IsEmpty extends IteratingAccumulatorEvalFunc<Boolean> {
     public Boolean exec(Iterator<Tuple> iter) throws IOException {
         return !iter.hashNext();
     }
 }</code></pre>
 Count could be implemented as follows:
 <pre><code>public class Count extends IteratingAccumulatorEvalFunc<Long> {
     public Long exec(Iterator<Tuple> iter) throws IOException {
         long ct = 0;
         for (; iter.hasNext(); iter.next()) {
             ct++;
         }
         return ct;
     }
 }</code></pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.IteratingAccumulatorEvalFunc -->
  <!-- start class org.apache.pig.JVMReuseImpl -->
  <class name="JVMReuseImpl" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JVMReuseImpl"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="cleanupStaticData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.JVMReuseImpl -->
  <!-- start class org.apache.pig.JVMReuseManager -->
  <class name="JVMReuseManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getInstance" return="org.apache.pig.JVMReuseManager"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="registerForStaticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="clazz" type="java.lang.Class"/>
    </method>
    <doc>
    <![CDATA[This class is used to manage JVM Reuse in case of execution engines like Tez
 and Spark.

 Static data members of a UDF, LoadFunc or StoreFunc class
 need to be reset or object references made null or reinitialized
 when the jvm container is reused for new tasks.

 Example usage to perform static data cleanup in a UDF as follows.

 public class MyUDF extends EvalFunc<Tuple> {
   private static int numInvocations = 0;
   private static Reporter reporter;

   static {
      // Register this class for static data cleanup
      JVMReuseManager.getInstance().registerForStaticDataCleanup(MyUDF.class);
   }

   // Write a public static method that performs the cleanup
   // and annotate it with @StaticDataCleanup
   @StaticDataCleanup
   public static void staticDataCleanup() {
      numInvocations = 0;
      reporter = null;
   }
   #### UDF Code goes here ######
 }

 @since Pig 0.14]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.JVMReuseManager -->
  <!-- start interface org.apache.pig.LoadCaster -->
  <interface name="LoadCaster"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="bytesToBoolean" return="java.lang.Boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to boolean value.
 @param b bytearray to be cast.
 @return Boolean value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToLong" return="java.lang.Long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to long value.
 @param b bytearray to be cast.
 @return Long value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToFloat" return="java.lang.Float"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to float value.
 @param b bytearray to be cast.
 @return Float value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToDouble" return="java.lang.Double"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to double value.
 @param b bytearray to be cast.
 @return Double value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToDateTime" return="org.joda.time.DateTime"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to datetime value.
 @param b bytearray to be cast.
 @return datetime value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToInteger" return="java.lang.Integer"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to integer value.
 @param b bytearray to be cast.
 @return Double value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to chararray value.
 @param b bytearray to be cast.
 @return String value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to map value.
 @param b bytearray to be cast.
 @param fieldSchema field schema for the output map
 @return Map value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to tuple value.
 @param b bytearray to be cast.
 @param fieldSchema field schema for the output tuple
 @return Tuple value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to bag value.
 @param b bytearray to be cast.
 @param fieldSchema field schema for the output bag
 @return Bag value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToBigInteger" return="java.math.BigInteger"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to BigInteger value.
 @param b bytearray to be cast.
 @param fieldSchema field schema for the output bag
 @return BigInteger value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToBigDecimal" return="java.math.BigDecimal"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytearray to BigDecimal value.
 @param b bytearray to be cast.
 @param fieldSchema field schema for the output bag
 @return BigInteger value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface that provides cast implementations for load functions.  For casts between
 bytearray objects and internal types, Pig relies on the load function that loaded the data to
 provide the cast.  This is because Pig does not understand the binary representation of the
 data and thus cannot cast it.  This interface provides functions to cast from bytearray to each
 of Pig's internal types.
 @since Pig 0.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.LoadCaster -->
  <!-- start class org.apache.pig.LoadFunc -->
  <class name="LoadFunc" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LoadFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called by the Pig runtime in the front end to convert the
 input location to an absolute path if the location is relative. The
 loadFunc implementation is free to choose how it converts a relative 
 location to an absolute location since this may depend on what the location
 string represent (hdfs path or some other data source)
 
 @param location location as provided in the "load" statement of the script
 @param curDir the current working direction based on any "cd" statements
 in the script before the "load" statement. If there are no "cd" statements
 in the script, this would be the home directory - 
 <pre>/user/<username> </pre>
 @return the absolute location based on the arguments passed
 @throws IOException if the conversion is not possible]]>
      </doc>
    </method>
    <method name="setLocation"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Communicate to the loader the location of the object(s) being loaded.  
 The location string passed to the LoadFunc here is the return value of 
 {@link LoadFunc#relativeToAbsolutePath(String, Path)}. Implementations
 should use this method to communicate the location (and any other information)
 to its underlying InputFormat through the Job object.
 
 This method will be called in the frontend and backend multiple times. Implementations
 should bear in mind that this method is called multiple times and should
 ensure there are no inconsistent side effects due to the multiple calls.
 
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, Path)}
 @param job the {@link Job} object
 store or retrieve earlier stored information from the {@link UDFContext}
 @throws IOException if the location is not valid.]]>
      </doc>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This will be called during planning on the front end. This is the
 instance of InputFormat (rather than the class name) because the 
 load function may need to instantiate the InputFormat in order 
 to control how it is constructed.
 @return the InputFormat associated with this loader.
 @throws IOException if there is an exception during InputFormat 
 construction]]>
      </doc>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This will be called on both the front end and the back
 end during execution.
 @return the {@link LoadCaster} associated with this loader. Returning null 
 indicates that casts from byte array are not supported for this loader. 
 construction
 @throws IOException if there is an exception during LoadCaster]]>
      </doc>
    </method>
    <method name="prepareToRead"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Initializes LoadFunc for reading data.  This will be called during execution
 before any calls to getNext.  The RecordReader needs to be passed here because
 it has been instantiated for a particular InputSplit.
 @param reader {@link RecordReader} to be used by this instance of the LoadFunc
 @param split The input {@link PigSplit} to process
 @throws IOException if there is an exception during initialization]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Retrieves the next tuple to be processed. Implementations should NOT reuse
 tuple objects (or inner member objects) they return across calls and 
 should return a different tuple object in each call.
 @return the next tuple to be processed or null if there are no more tuples
 to be processed.
 @throws IOException if there is an exception while retrieving the next
 tuple]]>
      </doc>
    </method>
    <method name="join" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.util.AbstractCollection"/>
      <param name="delimiter" type="java.lang.String"/>
      <doc>
      <![CDATA[Join multiple strings into a string delimited by the given delimiter.
 
 @param s a collection of strings
 @param delimiter the delimiter 
 @return a 'delimiter' separated string]]>
      </doc>
    </method>
    <method name="getPathStrings" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="commaSeparatedPaths" type="java.lang.String"/>
      <doc>
      <![CDATA[Parse comma separated path strings into a string array. This method 
 escapes commas in the Hadoop glob pattern of the given paths. 
 
 This method is borrowed from 
 {@link org.apache.hadoop.mapreduce.lib.input.FileInputFormat}. A jira
 (MAPREDUCE-1205) is opened to make the same name method there 
 accessible. We'll use that method directly when the jira is fixed.
 
 @param commaSeparatedPaths a comma separated string
 @return an array of path strings]]>
      </doc>
    </method>
    <method name="getAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Construct the absolute path from the file location and the current
 directory. The current directory is either of the form 
 {code}hdfs://<nodename>:<nodeport>/<directory>{code} in Hadoop 
 MapReduce mode, or of the form 
 {code}file:///<directory>{code} in Hadoop local mode.
 
 @param location the location string specified in the load statement
 @param curDir the current file system directory
 @return the absolute path of file in the file system
 @throws FrontendException if the scheme of the location is incompatible
         with the scheme of the file system]]>
      </doc>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[This method will be called by Pig both in the front end and back end to
 pass a unique signature to the {@link LoadFunc}. The signature can be used
 to store into the {@link UDFContext} any information which the 
 {@link LoadFunc} needs to store between various method invocations in the
 front end and back end. A use case is to store {@link RequiredFieldList} 
 passed to it in {@link LoadPushDown#pushProjection(RequiredFieldList)} for
 use in the back end before returning tuples in {@link LoadFunc#getNext()}.
 This method will be call before other methods in {@link LoadFunc}
 @param signature a unique signature to identify this LoadFunc]]>
      </doc>
    </method>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
      <doc>
      <![CDATA[Issue a warning.  Warning messages are aggregated and reported to
 the user.
 @param msg String message of the warning
 @param warningEnum type of warning]]>
      </doc>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a LoadFunc to specify a list of files it would like placed in the distributed 
 cache.
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a LoadFunc to specify a list of files located locally and would like to ship to backend 
 (through distributed cache). Check for {@link FuncUtils} for utility function to facilitate it
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A LoadFunc loads data into Pig.  It can read from an HDFS file or other source.
 LoadFunc is tightly coupled to Hadoop's {@link org.apache.hadoop.mapreduce.InputFormat}.
 LoadFunc's sit atop an InputFormat and translate from the keys and values of Hadoop
 to Pig's tuples.  
 <p>
 LoadFunc contains the basic features needed by the majority of load functions.  For
 more advanced functionality there are separate interfaces that a load function
 can implement.  See {@link LoadCaster}, {@link LoadMetadata}, {@link LoadPushDown}, 
 {@link OrderedLoadFunc}, {@link CollectableLoadFunc}, and {@link IndexableLoadFunc}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadFunc -->
  <!-- start class org.apache.pig.LoadFuncMetadataWrapper -->
  <class name="LoadFuncMetadataWrapper" extends="org.apache.pig.LoadFuncWrapper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="LoadFuncMetadataWrapper"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setLoadFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="loadFunc" type="org.apache.pig.LoadMetadata"/>
      <doc>
      <![CDATA[The wrapped LoadMetadata object must be set before method calls are made on this object.
 Typically, this is done with via constructor, but often times the wrapped object can
 not be properly initialized until later in the lifecycle of the wrapper object.
 @param loadFunc]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Convenience class to extend when decorating a class that extends LoadFunc and
 implements LoadMetadata.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadFuncMetadataWrapper -->
  <!-- start class org.apache.pig.LoadFuncWrapper -->
  <class name="LoadFuncWrapper" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LoadFuncWrapper"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setLoadFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="loadFunc" type="org.apache.pig.LoadFunc"/>
      <doc>
      <![CDATA[The wrapped LoadFunc object must be set before method calls are made on this object.
 Typically, this is done with via constructor, but often times the wrapped object can
 not be properly initialized until later in the lifecycle of the wrapper object.
 @param loadFunc]]>
      </doc>
    </method>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="loadFunc" return="org.apache.pig.LoadFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getMethodName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="depth" type="int"/>
      <doc>
      <![CDATA[Returns a method in the call stack at the given depth. Depth 0 will return the method that
 called this getMethodName, depth 1 the method that called it, etc...
 @param depth
 @return method name as String]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Convenience class to extend when decorating a LoadFunc. Subclasses must call the setLoadFunc
 with an instance of LoadFunc before other methods can be called. Not doing so will
 result in an IllegalArgumentException when the method is called.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadFuncWrapper -->
  <!-- start interface org.apache.pig.LoadMetadata -->
  <interface name="LoadMetadata"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get a schema for the data to be loaded.  
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.  
 @return schema for the data to be loaded. This schema should represent
 all tuples of the returned data.  If the schema is unknown or it is
 not possible to return a schema that represents all returned data,
 then null should be returned. The schema should not be affected by pushProjection, ie.
 getSchema should always return the original schema even after pushProjection
 @throws IOException if an exception occurs while determining the schema]]>
      </doc>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get statistics about the data to be loaded.  If no statistics are
 available, then null should be returned. If the implementing class also extends
 {@link LoadFunc}, then {@link LoadFunc#setLocation(String, org.apache.hadoop.mapreduce.Job)}
 is guaranteed to be called before this method.
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.  
 @return statistics about the data to be loaded.  If no statistics are
 available, then null should be returned.
 @throws IOException if an exception occurs while retrieving statistics]]>
      </doc>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Find what columns are partition keys for this input.
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.  
 @return array of field names of the partition keys. Implementations 
 should return null to indicate that there are no partition keys
 @throws IOException if an exception occurs while retrieving partition keys]]>
      </doc>
    </method>
    <method name="setPartitionFilter"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set the filter for partitioning.  It is assumed that this filter
 will only contain references to fields given as partition keys in
 getPartitionKeys. So if the implementation returns null in 
 {@link #getPartitionKeys(String, Job)}, then this method is not
 called by Pig runtime. This method is also not called by the Pig runtime
 if there are no partition filter conditions. 
 @param partitionFilter that describes filter for partitioning
 @throws IOException if the filter is not compatible with the storage
 mechanism or contains non-partition fields.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface defines how to retrieve metadata related to data to be loaded.
 If a given loader does not implement this interface, it will be assumed that it
 is unable to provide metadata about the associated data.
 @since Pig 0.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.LoadMetadata -->
  <!-- start interface org.apache.pig.LoadPredicatePushdown -->
  <interface name="LoadPredicatePushdown"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getPredicateFields" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Find what fields of the data can support predicate pushdown.
 @param location Location as returned by
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}

 @param job The {@link Job} object - this should be used only to obtain
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.

 @return list of field names that can be pushed down. Implementations
 should return null to indicate that there are no fields that support predicate pushdown

 @throws IOException if an exception occurs while retrieving predicate fields]]>
      </doc>
    </method>
    <method name="getSupportedExpressionTypes" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Indicate operations on fields supported by the loader for predicate pushdown

 @return List of operations supported by the predicate pushdown loader]]>
      </doc>
    </method>
    <method name="setPushdownPredicate"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predicate" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Push down expression to the loader

 @param predicate expression to be filtered by the loader.
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface defines how a loader can support predicate pushdown.
 If a given loader implements this interface, pig will pushdown predicates based on
 type of operations supported by the loader on given set of fields.

 This interface is private in Pig 0.14 and will be made public in Pig 0.15 after PIG-4093.
 It is to be used only by builtin LoadFunc implementations till it is made public
 as PIG-4093 will cause API changes to this interface and make it backward incompatible.

 @since Pig 0.14]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.LoadPredicatePushdown -->
  <!-- start interface org.apache.pig.LoadPushDown -->
  <interface name="LoadPushDown"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getFeatures" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Determine the operators that can be pushed to the loader.  
 Note that by indicating a loader can accept a certain operator
 (such as selection) the loader is not promising that it can handle
 all selections.  When it is passed the actual operators to 
 push down it will still have a chance to reject them.
 @return list of all features that the loader can support]]>
      </doc>
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Indicate to the loader fields that will be needed.  This can be useful for
 loaders that access data that is stored in a columnar format where indicating
 columns to be accessed a head of time will save scans.  This method will
 not be invoked by the Pig runtime if all fields are required. So implementations
 should assume that if this method is not invoked, then all fields from 
 the input are required. If the loader function cannot make use of this 
 information, it is free to ignore it by returning an appropriate Response
 @param requiredFieldList RequiredFieldList indicating which columns will be needed.
 This structure is read only. User cannot make change to it inside pushProjection.
 @return Indicates which fields will be returned
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface defines how to communicate to Pig what functionality can
 be pushed into the loader.  If a given loader does not implement this interface
 it will be assumed that it is unable to accept any functionality for push down.
 @since Pig 0.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.LoadPushDown -->
  <!-- start class org.apache.pig.LoadPushDown.OperatorSet -->
  <class name="LoadPushDown.OperatorSet" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.LoadPushDown.OperatorSet[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.LoadPushDown.OperatorSet"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="PROJECTION" type="org.apache.pig.LoadPushDown.OperatorSet"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Set of possible operations that Pig can push down to a loader.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadPushDown.OperatorSet -->
  <!-- start class org.apache.pig.LoadPushDown.RequiredField -->
  <class name="LoadPushDown.RequiredField" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="RequiredField"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="RequiredField" type="java.lang.String, int, java.util.List, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param alias
 @param index
 @param subFields
 @param type]]>
      </doc>
    </constructor>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the alias]]>
      </doc>
    </method>
    <method name="getIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the index]]>
      </doc>
    </method>
    <method name="getSubFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the required sub fields. The return value is null if all
         subfields are required]]>
      </doc>
    </method>
    <method name="setSubFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="subFields" type="java.util.List"/>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the type]]>
      </doc>
    </method>
    <method name="setType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="byte"/>
    </method>
    <method name="setIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="setAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Describes a field that is required to execute a scripts.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadPushDown.RequiredField -->
  <!-- start class org.apache.pig.LoadPushDown.RequiredFieldList -->
  <class name="LoadPushDown.RequiredFieldList" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="RequiredFieldList" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Set the list of required fields.
 @param fields]]>
      </doc>
    </constructor>
    <constructor name="RequiredFieldList"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Geta ll required fields as a list.
 @return the required fields - this will be null if all fields are
         required]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rf" type="org.apache.pig.LoadPushDown.RequiredField"/>
      <doc>
      <![CDATA[Add a field to the list of required fields.
 @param rf required field to add to the list.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[List of fields that Pig knows to be required to executed a script.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadPushDown.RequiredFieldList -->
  <!-- start class org.apache.pig.LoadPushDown.RequiredFieldResponse -->
  <class name="LoadPushDown.RequiredFieldResponse" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RequiredFieldResponse" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRequiredFieldResponse" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Indicates whether the loader will return only the requested fields or all fields.
 @return true if only requested fields will be returned, false if all fields will be
 returned.]]>
      </doc>
    </method>
    <method name="setRequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="honored" type="boolean"/>
      <doc>
      <![CDATA[Set whether the loader will return only the requesetd fields or all fields.
 @param honored if true only requested fields will be returned, else all fields will be
 returned.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Indicates whether the loader will return the requested fields or all fields.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.LoadPushDown.RequiredFieldResponse -->
  <!-- start interface org.apache.pig.LoadStoreCaster -->
  <interface name="LoadStoreCaster"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadCaster"/>
    <implements name="org.apache.pig.StoreCaster"/>
    <doc>
    <![CDATA[This is just a union interface of LoadCaster and StoreCaster, 
 made available for simplicity.
 @since Pig 0.8]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.LoadStoreCaster -->
  <!-- start class org.apache.pig.Main -->
  <class name="Main" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Main"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
      <doc>
      <![CDATA[The Main-Class for the Pig Jar that will provide a shell and setup a classpath appropriate
 for executing Jar files.  Warning, this method calls System.exit().

 @param args
            -jar can be used to add additional jar files (colon separated). - will start a
            shell. -e will execute the rest of the command line as if it was input to the
            shell.
 @throws IOException]]>
      </doc>
    </method>
    <method name="makeListener" return="org.apache.pig.tools.pigstats.PigProgressNotificationListener"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="dryrun" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptFile" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="RecognitionException" type="org.antlr.runtime.RecognitionException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getMajorVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the major version of Pig being run.]]>
      </doc>
    </method>
    <method name="getMinorVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the major version of the Pig build being run.]]>
      </doc>
    </method>
    <method name="getPatchVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the patch version of the Pig build being run.]]>
      </doc>
    </method>
    <method name="getSvnRevision" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the svn revision number of the Pig build being run.]]>
      </doc>
    </method>
    <method name="getBuildTime" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the built time of the Pig build being run.]]>
      </doc>
    </method>
    <method name="getVersionString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns a version string formatted similarly to that of svn.
 <pre>
 Apache Pig version 0.11.0-SNAPSHOT (r1202387)
 compiled Nov 15 2011, 15:22:09
 </pre>]]>
      </doc>
    </method>
    <method name="usage"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Print usage string.]]>
      </doc>
    </method>
    <method name="printProperties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="PROGRESS_NOTIFICATION_LISTENER_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="PROGRESS_NOTIFICATION_LISTENER_ARG_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Main class for Pig engine.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.Main -->
  <!-- start interface org.apache.pig.NonFSLoadFunc -->
  <interface name="NonFSLoadFunc"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <doc>
    <![CDATA[Marker interface to distinguish LoadFunc implementations that don't use file system sources.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.NonFSLoadFunc -->
  <!-- start interface org.apache.pig.OrderedLoadFunc -->
  <interface name="OrderedLoadFunc"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getSplitComparable" return="org.apache.hadoop.io.WritableComparable"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[The WritableComparable object returned will be used to compare
 the position of different splits in an ordered stream
 @param split An InputSplit from the InputFormat underlying this loader.
 @return WritableComparable representing the position of the split in input
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Implementing this interface indicates to Pig that a given loader
 can be used for MergeJoin. It does not mean the data itself is ordered,
 but rather that the splits returned by the underlying InputFormat
 can be ordered to match the order of the data they are loading.  For 
 example, files splits have a natural order (that of the file they are
 from) while splits of RDBMS does not (since tables have no inherent order).
 The position as represented by the
 WritableComparable object is stored in the index created by
 a MergeJoin sampling MapReduce job to get an ordered sequence of splits.
 It is necessary to read splits in order during a merge join to assure 
 data is being read according to the sort order.
 @since Pig 0.7]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.OrderedLoadFunc -->
  <!-- start interface org.apache.pig.OverwritableStoreFunc -->
  <interface name="OverwritableStoreFunc"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="shouldOverwrite" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method is called by the Pig runtime to determine whether to ignore output validation problems
 (see {@link PigOutputFormat#checkOutputSpecs} and {@link InputOutputFileValidator#validate}) and to delete the existing output.
 @return whether to overwrite the store/output location of this {@link StoreFunc}.]]>
      </doc>
    </method>
    <method name="cleanupOutput"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called to cleanup the store/output location of this {@link StoreFunc}.
 
 @param store The {@link POStore} object to get info about the store
 operator for this store function.
 @param job The {@link Job} object to get job related information.
 @throws IOException if an exception occurs during the cleanup.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A {@link StoreFunc} should implement this interface to enable overwriting its
 store/output location if it already exists.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.OverwritableStoreFunc -->
  <!-- start class org.apache.pig.PigConfiguration -->
  <class name="PigConfiguration" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="PIG_AUTO_LOCAL_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is to turn on auto local mode feature]]>
      </doc>
    </field>
    <field name="PIG_AUTO_LOCAL_INPUT_MAXBYTES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls the max threshold size to convert jobs to run in local mode]]>
      </doc>
    </field>
    <field name="PIG_OPT_FETCH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value used to enable or disable fetching without a mapreduce job for DUMP. True by default]]>
      </doc>
    </field>
    <field name="PIG_OPT_MULTIQUERY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value used to enable or disable multiquery optimization. True by default]]>
      </doc>
    </field>
    <field name="PIG_OPT_ACCUMULATOR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value used to enable or disable accumulator optimization. True by default]]>
      </doc>
    </field>
    <field name="PIG_ACCUMULATIVE_BATCHSIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_TEZ_OPT_UNION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to enable or disable union optimization in tez. True by default]]>
      </doc>
    </field>
    <field name="PIG_TEZ_OPT_UNION_SUPPORTED_STOREFUNCS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[These keys are used to enable or disable tez union optimization for
 specific StoreFuncs. Optimization should be turned off for those
 StoreFuncs that hard code part file names and do not prefix file names
 with mapreduce.output.basename configuration.

 If the StoreFuncs implement
 {@link StoreFunc#supportsParallelWriteToStoreLocation()} and return true
 or false then that is is used to turn on or off union optimization
 respectively. These settings can be used for StoreFuncs that have not
 implemented the API yet.]]>
      </doc>
    </field>
    <field name="PIG_TEZ_OPT_UNION_UNSUPPORTED_STOREFUNCS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SORT_READONCE_LOADFUNCS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Pig only reads once from datasource for LoadFuncs specified here during sort instead of
 loading once for sampling and loading again for partitioning.
 Used to avoid hitting external non-filesystem datasources like HBase and Accumulo twice.
 Honored only by Pig on Tez now.]]>
      </doc>
    </field>
    <field name="PIG_EXEC_MAP_PARTAGG" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value to enable or disable partial aggregation in map. Disabled by default]]>
      </doc>
    </field>
    <field name="PIG_EXEC_MAP_PARTAGG_MINREDUCTION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls the minimum reduction in-mapper Partial Aggregation should achieve in order
 to stay on. If after a period of observation this reduction is not achieved,
 in-mapper aggregation will be turned off and a message logged to that effect.]]>
      </doc>
    </field>
    <field name="PIG_EXEC_NO_COMBINER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value to enable or disable use of combiners in MapReduce jobs. Enabled by default]]>
      </doc>
    </field>
    <field name="PIG_EXEC_NO_COMBINER_REDUCER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Enable or disable use of combiners in reducer shuffle-merge phase in Tez.
 Valid values are auto, true or false.
 Default is auto which turns off combiner if bags are present in the combine plan]]>
      </doc>
    </field>
    <field name="PIG_EXEC_NO_SECONDARY_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key controls whether secondary sort key is used for optimization in case
 of nested distinct or sort]]>
      </doc>
    </field>
    <field name="PIG_CACHEDBAG_MEMUSAGE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls the fraction of total memory that is allowed to be used by
 cached bags. Default is 0.2.]]>
      </doc>
    </field>
    <field name="PIG_SKEWEDJOIN_REDUCE_MEMUSAGE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[% of memory available for the input data. This is currently equal to the
 memory available for the skewed join]]>
      </doc>
    </field>
    <field name="PIG_SKEWEDJOIN_REDUCE_MEM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Memory available (in bytes) in reduce when calculating memory available for skewed join.
 By default, it is set to Runtime.getRuntime().maxMemory(). Override it only
 for debug purpose]]>
      </doc>
    </field>
    <field name="PIG_BLOOMJOIN_STRATEGY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Bloom join has two different kind of implementations.
 <ul>
 <li>map <br>
 In each map, bloom filters are computed on the join keys partitioned by
 the hashcode of the key with {@link #PIG_BLOOMJOIN_NUM_FILTERS} number of
 partitions. Bloom filters from different maps are then combined in the
 reducer producing one bloom filter per partition. This is efficient and
 fast if there are smaller number of maps (<10) and the number of
 distinct keys are not too high. It can be faster with larger number of
 maps and even with bigger bloom vector sizes, but the amount of data
 shuffled to the reducer for aggregation becomes huge making it
 inefficient.</li>
 <li>reduce <br>
 Join keys are sent from the map to the reducer partitioned by hashcode of
 the key with {@link #PIG_BLOOMJOIN_NUM_FILTERS} number of reducers. One
 bloom filter is then created per partition. This is efficient for larger
 datasets with lot of maps or very large
 {@link #PIG_BLOOMJOIN_VECTORSIZE_BYTES}. In this case size of keys sent
 to the reducer is smaller than sending bloom filters to reducer for
 aggregation making it efficient.</li>
 </ul>
 Default value is map.]]>
      </doc>
    </field>
    <field name="PIG_BLOOMJOIN_NUM_FILTERS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The number of bloom filters that will be created.
 Default is 1 for map strategy and 11 for reduce strategy.]]>
      </doc>
    </field>
    <field name="PIG_BLOOMJOIN_VECTORSIZE_BYTES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The size in bytes of the bit vector to be used for the bloom filter.
 A bigger vector size will be needed when the number of distinct keys is higher.
 Default value is 1048576 (1MB).]]>
      </doc>
    </field>
    <field name="PIG_BLOOMJOIN_HASH_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The type of hash function to use. Valid values are jenkins and murmur.
 Default is murmur.]]>
      </doc>
    </field>
    <field name="PIG_BLOOMJOIN_HASH_FUNCTIONS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The number of hash functions to be used in bloom computation. It determines the probability of false positives.
 Higher the number lower the false positives. Too high a value can increase the cpu time.
 Default value is 3.]]>
      </doc>
    </field>
    <field name="PIG_JOIN_REPLICATED_MAX_BYTES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key used to control the maximum size loaded into
 the distributed cache when doing fragment-replicated join]]>
      </doc>
    </field>
    <field name="PIG_CACHEDBAG_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Configurations for specifying alternate implementations for cached bags. Rarely used]]>
      </doc>
    </field>
    <field name="PIG_CACHEDBAG_DISTINCT_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_CACHEDBAG_SORT_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_EXEC_REDUCER_ESTIMATOR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_EXEC_REDUCER_ESTIMATOR_CONSTRUCTOR_ARG_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_TEZ_AUTO_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to configure auto parallelism in tez. Default is true.]]>
      </doc>
    </field>
    <field name="PIG_TEZ_GRACE_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to configure grace parallelism in tez. Default is true.]]>
      </doc>
    </field>
    <field name="PIG_TEZ_AUTO_PARALLELISM_DISABLE_DAG_RECOVERY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to turn off dag recovery if there is auto parallelism.
 Default is false. Useful when running with Tez versions before Tez 0.8
 which have issues with auto parallelism during DAG recovery.]]>
      </doc>
    </field>
    <field name="PIG_COMPRESS_INPUT_SPLITS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to configure compression for the pig input splits which
 are not FileSplit. Default is false]]>
      </doc>
    </field>
    <field name="PIG_COMPRESS_INPUT_SPLITS_DEFAULT" type="boolean"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_TEZ_INPUT_SPLITS_MEM_THRESHOLD" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Serialize input splits to disk if the input splits size exceeds a
 threshold to avoid hitting default RPC transfer size limit of 64MB.
 Default is 33554432 (32MB)]]>
      </doc>
    </field>
    <field name="PIG_TEZ_INPUT_SPLITS_MEM_THRESHOLD_DEFAULT" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_UDF_PROFILE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls whether execution time of Pig UDFs should be tracked.
 This feature uses counters; use judiciously.]]>
      </doc>
    </field>
    <field name="PIG_UDF_PROFILE_FREQUENCY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SCHEMA_TUPLE_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key must be set to true by the user for code generation to be used.
 In the future, it may be turned on by default (at least in certain cases),
 but for now it is too experimental.]]>
      </doc>
    </field>
    <field name="PIG_SCHEMA_TUPLE_USE_IN_UDF" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SCHEMA_TUPLE_USE_IN_FOREACH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SCHEMA_TUPLE_USE_IN_FRJOIN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SCHEMA_TUPLE_USE_IN_MERGEJOIN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_SCHEMA_TUPLE_ALLOW_FORCE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_STREAMING_ENVIRONMENT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key can be used to defined what properties will be set in the streaming environment.
 Just set this property to a comma-delimited list of properties to set, and those properties
 will be set in the environment.]]>
      </doc>
    </field>
    <field name="PIG_STREAMING_UDF_PYTHON_COMMAND" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key can be used to configure the python command for python streaming
 udf. For eg, python2.7.]]>
      </doc>
    </field>
    <field name="PIG_SPLIT_COMBINATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Turns combine split files on or off]]>
      </doc>
    </field>
    <field name="PIG_NO_SPLIT_COMBINATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Whether turns combine split files off. This is for internal use only]]>
      </doc>
    </field>
    <field name="PIG_MAX_COMBINED_SPLIT_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Specifies the size, in bytes, of data to be processed by a single map.
 Smaller files are combined untill this size is reached.]]>
      </doc>
    </field>
    <field name="PIG_OUTPUT_LAZY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define whether PigOutputFormat will be wrapped with LazyOutputFormat
 so that jobs won't write empty part files if no output is generated]]>
      </doc>
    </field>
    <field name="PIG_OUTPUT_COMMITTER_RECOVERY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define whether to support recovery to handle the
 application master getting restarted.]]>
      </doc>
    </field>
    <field name="PIG_TEMP_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Location where pig stores temporary files for job setup]]>
      </doc>
    </field>
    <field name="PIG_ENABLE_TEMP_FILE_COMPRESSION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define whether to have intermediate file compressed]]>
      </doc>
    </field>
    <field name="PIG_TEMP_FILE_COMPRESSION_STORAGE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to set the storage type used by intermediate file storage
 If pig.tmpfilecompression, default storage used is TFileStorage.
 This can be overriden to use SequenceFileInterStorage by setting following property to "seqfile".]]>
      </doc>
    </field>
    <field name="PIG_TEMP_FILE_COMPRESSION_CODEC" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Compression codec used by intermediate storage
 TFileStorage only support gzip and lzo.]]>
      </doc>
    </field>
    <field name="PIG_DELETE_TEMP_FILE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define whether to delete intermediate files of Hadoop jobs.]]>
      </doc>
    </field>
    <field name="PIG_POISSON_SAMPLER_SAMPLE_RATE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[For a given mean and a confidence, a sample rate is obtained from a poisson udf]]>
      </doc>
    </field>
    <field name="PIG_RANDOM_SAMPLER_SAMPLE_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key used to control the sample size of RandomeSampleLoader for
 order-by. The default value is 100 rows per task.]]>
      </doc>
    </field>
    <field name="PIG_DEFAULT_LOAD_FUNC" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define the default load func. Pig will fallback on PigStorage
 as default in case this is undefined.]]>
      </doc>
    </field>
    <field name="PIG_DEFAULT_STORE_FUNC" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define the default store func. Pig will fallback on PigStorage
 as default in case this is undefined.]]>
      </doc>
    </field>
    <field name="PIG_SCRIPT_INFO_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to turn off the inclusion of settings in the jobs.]]>
      </doc>
    </field>
    <field name="PIG_SCRIPT_MAX_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls the size of Pig script stored in job xml.]]>
      </doc>
    </field>
    <field name="PIG_USER_CACHE_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is turn on the user level cache]]>
      </doc>
    </field>
    <field name="PIG_USER_CACHE_LOCATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Location where additional jars are cached for the user
 Additional jar will be cached under PIG_USER_CACHE_LOCATION/${user.name}/.pigcache
 and will be re-used across the jobs run by the user if the jar has not changed]]>
      </doc>
    </field>
    <field name="PIG_USER_CACHE_REPLICATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Replication factor for files in pig jar cache]]>
      </doc>
    </field>
    <field name="PIG_ERROR_HANDLING_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Boolean value used to enable or disable error handling for storers]]>
      </doc>
    </field>
    <field name="PIG_ERROR_HANDLING_MIN_ERROR_RECORDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Controls the minimum number of errors]]>
      </doc>
    </field>
    <field name="PIG_ERROR_HANDLING_THRESHOLD_PERCENT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Set the threshold for percentage of errors]]>
      </doc>
    </field>
    <field name="PIG_BLACKLIST" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Comma-delimited entries of commands/operators that must be disallowed.
 This is a security feature to be used by administrators to block use of
 commands by users. For eg, an admin might like to block all filesystem
 commands and setting configs in pig script. In which case, the entry
 would be "pig.blacklist=fs,set"]]>
      </doc>
    </field>
    <field name="PIG_WHITELIST" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Comma-delimited entries of commands/operators that must be allowed. This
 is a security feature to be used by administrators to block use of
 commands by users that are not a part of the whitelist. For eg, an admin
 might like to allow only LOAD, STORE, FILTER, GROUP in pig script. In
 which case, the entry would be "pig.whitelist=load,store,filter,group"]]>
      </doc>
    </field>
    <field name="PIG_NO_TASK_REPORT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to turns off use of task reports in job statistics.]]>
      </doc>
    </field>
    <field name="PIG_DATETIME_DEFAULT_TIMEZONE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The timezone to be used by Pig datetime datatype]]>
      </doc>
    </field>
    <field name="PIG_BZIP_USE_HADOOP_INPUTFORMAT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Using hadoop's TextInputFormat for reading bzip input instead of using Pig's Bzip2TextInputFormat. True by default
 (only valid for 0.23/2.X)]]>
      </doc>
    </field>
    <field name="PIG_ARTIFACTS_DOWNLOAD_LOCATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to set the download location when registering an artifact using ivy coordinate]]>
      </doc>
    </field>
    <field name="PIG_TEZ_SESSION_REUSE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to define whether to reuse AM in Tez jobs.]]>
      </doc>
    </field>
    <field name="PIG_TEZ_DAG_STATUS_REPORT_INTERVAL" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used to configure the interval of dag status report in seconds. Default is 20]]>
      </doc>
    </field>
    <field name="PIG_SPILL_MEMORY_USAGE_THRESHOLD_FRACTION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Spill will be triggered if the fraction of biggest heap exceeds the usage threshold.
 If {@link PigConfiguration.PIG_SPILL_UNUSED_MEMORY_THRESHOLD_SIZE} is non-zero, then usage threshold is calculated as
 Max(HeapSize * PIG_SPILL_MEMORY_USAGE_THRESHOLD_FRACTION, HeapSize - PIG_SPILL_UNUSED_MEMORY_THRESHOLD_SIZE)
 Default is 0.7]]>
      </doc>
    </field>
    <field name="PIG_SPILL_COLLECTION_THRESHOLD_FRACTION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Spill will be triggered if the fraction of biggest heap exceeds the collection threshold.
 If {@link PigConfiguration.PIG_SPILL_UNUSED_MEMORY_THRESHOLD_SIZE} is non-zero, then collection threshold is calculated as
 Max(HeapSize * PIG_SPILL_COLLECTION_THRESHOLD_FRACTION, HeapSize - PIG_SPILL_UNUSED_MEMORY_THRESHOLD_SIZE)
 Default is 0.7]]>
      </doc>
    </field>
    <field name="PIG_SPILL_UNUSED_MEMORY_THRESHOLD_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Spill will be triggered when unused memory falls below the threshold.
 Default is 350MB]]>
      </doc>
    </field>
    <field name="PIG_LOG_TRACE_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Log tracing id that can be used by upstream clients for tracking respective logs]]>
      </doc>
    </field>
    <field name="PIG_SPARK_USE_NETTY_FILESERVER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Use Netty file server for Pig on Spark, true or false, default value is false]]>
      </doc>
    </field>
    <field name="CALLER_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_LOG_TRACE_ID} instead. Will be removed in Pig 0.18">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_LOG_TRACE_ID} instead. Will be removed in Pig 0.18]]>
      </doc>
    </field>
    <field name="PIG_ATS_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Enable ATS for Pig]]>
      </doc>
    </field>
    <field name="ENABLE_ATS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_ATS_ENABLED} instead. Will be removed in Pig 0.18">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_ATS_ENABLED} instead. Will be removed in Pig 0.18]]>
      </doc>
    </field>
    <field name="PIG_TEZ_CONFIGURE_AM_MEMORY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[If set, Pig will override tez.am.launch.cmd-opts and tez.am.resource.memory.mb to optimal]]>
      </doc>
    </field>
    <field name="PIG_STORE_SCHEMA_DISAMBIGUATE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[If set to false, automatic schema disambiguation gets disabled i.e. group::name will be just name]]>
      </doc>
    </field>
    <field name="PIG_STORE_SCHEMA_DISAMBIGUATE_DEFAULT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_PRINT_EXEC_PLAN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OPT_FETCH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_OPT_FETCH} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_OPT_FETCH} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="PROP_CACHEDBAG_MEMUSAGE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_CACHEDBAG_MEMUSAGE} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_CACHEDBAG_MEMUSAGE} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="PROP_EXEC_MAP_PARTAGG" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_EXEC_MAP_PARTAGG} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_EXEC_MAP_PARTAGG} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="PARTAGG_MINREDUCTION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_EXEC_MAP_PARTAGG_MINREDUCTION} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_EXEC_MAP_PARTAGG_MINREDUCTION} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="PROP_NO_COMBINER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PROP_NO_COMBINER1} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PROP_NO_COMBINER1} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="SHOULD_USE_SCHEMA_TUPLE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHOULD_USE_IN_UDF" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHOULD_USE_IN_FOREACH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHOULD_USE_IN_FRJOIN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHOULD_USE_IN_MERGEJOIN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHOULD_ALLOW_FORCE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INSERT_ENABLED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_SCRIPT_INFO_ENABLED} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_SCRIPT_INFO_ENABLED} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <field name="MAX_SCRIPT_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link #PIG_SCRIPT_MAX_SIZE} instead. Will be removed in Pig 0.16">
      <doc>
      <![CDATA[@deprecated use {@link #PIG_SCRIPT_MAX_SIZE} instead. Will be removed in Pig 0.16]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Container for static configuration strings, defaults, etc. This is intended just for keys that can
 be set by users, not for keys that are generally used within pig.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigConfiguration -->
  <!-- start class org.apache.pig.PigConstants -->
  <class name="PigConstants" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="GENERATED_CLASSES_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used in the job conf to let the various jobs know what code was
 generated.]]>
      </doc>
    </field>
    <field name="LOCAL_CODE_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This key is used when a job is run in local mode to pass the location of the generated code
 from the front-end to the "back-end" (which, in this case, is in the same JVM).]]>
      </doc>
    </field>
    <field name="SCHEMA_TUPLE_ON_BY_DEFAULT" type="boolean"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_OPTIMIZER_RULES_DISABLED_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[{@value} is a comma-separated list of optimizer rules to disable;
 by default, all rules are enabled.]]>
      </doc>
    </field>
    <field name="PIG_LOCAL_CONF_PREFIX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Prefix used by pig to configure local mode configuration]]>
      </doc>
    </field>
    <field name="TIME_UDFS_INVOCATION_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Counter names used by pig.udf.profile]]>
      </doc>
    </field>
    <field name="TIME_UDFS_ELAPSED_TIME_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_INDEX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.PigConstants -->
  <!-- start class org.apache.pig.PigCounters -->
  <class name="PigCounters" extends="java.lang.Enum"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.PigCounters[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.PigCounters"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="SPILLABLE_MEMORY_MANAGER_SPILL_COUNT" type="org.apache.pig.PigCounters"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PROACTIVE_SPILL_COUNT_BAGS" type="org.apache.pig.PigCounters"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PROACTIVE_SPILL_COUNT_RECS" type="org.apache.pig.PigCounters"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The following enum will contain the general counters that pig uses.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigCounters -->
  <!-- start class org.apache.pig.PigException -->
  <class name="PigException" extends="java.io.IOException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, java.lang.Throwable, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown. 
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, java.lang.Throwable, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown. 
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, boolean, java.lang.String, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PigException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PigException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.
 @param location - The <link>SourceLocation</link> that generated this error.]]>
      </doc>
    </constructor>
    <method name="isInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errSource" type="byte"/>
      <doc>
      <![CDATA[A static method to query if an error source is due to
 an input or not.

 @param errSource - byte that indicates the error source
 @return true if the error source is an input; false otherwise]]>
      </doc>
    </method>
    <method name="isBug" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errSource" type="byte"/>
      <doc>
      <![CDATA[A static method to query if an error source is due to
 a bug or not.

 @param errSource - byte that indicates the error source
 @return true if the error source is a bug; false otherwise]]>
      </doc>
    </method>
    <method name="isUserEnvironment" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errSource" type="byte"/>
      <doc>
      <![CDATA[A static method to query if an error source is due to
 the user environment or not.

 @param errSource - byte that indicates the error source
 @return true if the error source is due to the user environment; false otherwise]]>
      </doc>
    </method>
    <method name="isRemoteEnvironment" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errSource" type="byte"/>
      <doc>
      <![CDATA[A static method to query if an error source is due to
 the remote environment or not.

 @param errSource - byte that indicates the error source
 @return true if the error source is due to the remote environment; false otherwise]]>
      </doc>
    </method>
    <method name="determineErrorSource" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errCode" type="int"/>
      <doc>
      <![CDATA[A static method to determine the error source given the error code
 
  @param errCode - integer error code
  @return byte that indicates the error source]]>
      </doc>
    </method>
    <method name="retriable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Checks if the exception is retriable.
 @return if the exception is retriable or not]]>
      </doc>
    </method>
    <method name="setRetriable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="retry" type="boolean"/>
      <doc>
      <![CDATA[Set the retriable attribute of the exception
 @param retry - true if retriable; false otherwise]]>
      </doc>
    </method>
    <method name="getErrorSource" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the error source of the exception. Can be more than one source.
 @return error sources represented as a byte]]>
      </doc>
    </method>
    <method name="setErrorSource"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="src" type="byte"/>
      <doc>
      <![CDATA[Set the error source of the exception
 @param src - byte representing the error sources]]>
      </doc>
    </method>
    <method name="getErrorCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the error code of the exception
 @return error code of the exception]]>
      </doc>
    </method>
    <method name="setErrorCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="int"/>
      <doc>
      <![CDATA[Set the error code of the exception
 @param code - error code]]>
      </doc>
    </method>
    <method name="getDetailedMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the detailed message used by developers for debugging
 @return detailed message]]>
      </doc>
    </method>
    <method name="setDetailedMessage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="detailMsg" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the detailed message of the exception
 @param detailMsg - detailed message to be used by developers]]>
      </doc>
    </method>
    <method name="getMarkedAsShowToUser" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Check if this PigException is marked as the ones whose message is to be 
 displayed to the user. This can be used to indicate if the corresponding 
 error message is a good candidate for displaying to the end user, instead
 of drilling down the stack trace further.
 @return true if this pig exception is marked as appropriate to be 
 displayed to the user]]>
      </doc>
    </method>
    <method name="setMarkedAsShowToUser"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="showToUser" type="boolean"/>
      <doc>
      <![CDATA[Mark this exception as a good candidate for showing its message to the 
 pig user]]>
      </doc>
    </method>
    <method name="getSourceLocation" return="org.apache.pig.parser.SourceLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the location in the source that generated the exception.]]>
      </doc>
    </method>
    <method name="setSourceLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="org.apache.pig.parser.SourceLocation"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns a short description of this throwable.
 The result is the concatenation of:
 <ul>
 <li> the {@linkplain Class#getName() name} of the class of this object
 <li> ": " (a colon and a space)
 <li> "ERROR " (the string ERROR followed by a a space)
 <li> the result of invoking this object's {@link #getErrorCode} method
 <li> ": " (a colon and a space)
 <li> the result of invoking {@link Throwable#getLocalizedMessage() getLocalizedMessage}
      method
 </ul>
 If <tt>getLocalizedMessage</tt> returns <tt>null</tt>, then just
 the class name is returned.

 @return a string representation of this throwable.]]>
      </doc>
    </method>
    <field name="INPUT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BUG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="USER_ENVIRONMENT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REMOTE_ENVIRONMENT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ERROR" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="errorCode" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorSource" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="retriable" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="detailedMessage" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="markedAsShowToUser" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="sourceLocation" type="org.apache.pig.parser.SourceLocation"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[All exceptions in Pig are encapsulated in the <code>PigException</code>
 class. Details such as the source of the error, error message, error
 code, etc. are contained in this class. The default values for the
 attributes are:
 errorSource = BUG
 errorCode = 0
 retriable = false
 detailedMessage = null
 location = null]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigException -->
  <!-- start class org.apache.pig.PigRunner -->
  <class name="PigRunner" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigRunner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="run" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
      <param name="listener" type="org.apache.pig.tools.pigstats.PigProgressNotificationListener"/>
    </method>
    <doc>
    <![CDATA[A utility to help run PIG scripts within a Java program.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigRunner -->
  <!-- start class org.apache.pig.PigRunner.ReturnCode -->
  <class name="PigRunner.ReturnCode" extends="java.lang.Object"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReturnCode"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="UNKNOWN" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SUCCESS" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RETRIABLE_EXCEPTION" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FAILURE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PARTIAL_FAILURE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ILLEGAL_ARGS" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IO_EXCEPTION" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_EXCEPTION" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PARSE_EXCEPTION" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="THROWABLE_EXCEPTION" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.PigRunner.ReturnCode -->
  <!-- start class org.apache.pig.PigServer -->
  <class name="PigServer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigServer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param execTypeString can be 'mapreduce' or 'local'.  Local mode will
 use Hadoop's local job runner to execute the job on the local machine.
 Mapreduce mode will connect to a cluster to execute the job. If
 execTypeString is not one of these two, Pig will deduce the ExecutionEngine
 if it is on the classpath and use it for the backend execution.
 @throws ExecException
 @throws IOException]]>
      </doc>
    </constructor>
    <constructor name="PigServer" type="java.lang.String, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="PigServer" type="java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="PigServer" type="org.apache.pig.ExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param execType execution type to start the engine.  Local mode will
 use Hadoop's local job runner to execute the job on the local machine.
 Mapreduce mode will connect to a cluster to execute the job.
 @throws ExecException]]>
      </doc>
    </constructor>
    <constructor name="PigServer" type="org.apache.pig.ExecType, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <constructor name="PigServer" type="org.apache.pig.ExecType, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <constructor name="PigServer" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <constructor name="PigServer" type="org.apache.pig.impl.PigContext, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="resetScope"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigContext" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCurrentDAG" return="org.apache.pig.PigServer.Graph"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Current DAG

 @return]]>
      </doc>
    </method>
    <method name="debugOn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Set the logging level to DEBUG.]]>
      </doc>
    </method>
    <method name="debugOff"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Set the logging level to the default.]]>
      </doc>
    </method>
    <method name="setDefaultParallel"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="int"/>
      <doc>
      <![CDATA[Set the default parallelism for this job
 @param p default number of reducers to use for this job.]]>
      </doc>
    </method>
    <method name="setBatchOn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Starts batch execution mode.]]>
      </doc>
    </method>
    <method name="isBatchOn" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Retrieve the current execution mode.

 @return true if the execution mode is batch; false otherwise.]]>
      </doc>
    </method>
    <method name="isBatchEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Returns whether there is anything to process in the current batch.
 @throws FrontendException
 @return true if there are no stores to process in the current
 batch, false otherwise.]]>
      </doc>
    </method>
    <method name="parseAndBuild"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method parses the scripts and builds the LogicalPlan. This method
 should be followed by {@link PigServer#executeBatch(boolean)} with
 argument as false. Do Not use {@link PigServer#executeBatch()} after
 calling this method as that will re-parse and build the script.

 @throws IOException]]>
      </doc>
    </method>
    <method name="executeBatch" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Submits a batch of Pig commands for execution.

 @return list of jobs being executed
 @throws IOException]]>
      </doc>
    </method>
    <method name="executeBatch" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parseAndBuild" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Submits a batch of Pig commands for execution. Parse and build of script
 should be skipped if user called {@link PigServer#parseAndBuild()}
 before. Pass false as an argument in which case.

 @param parseAndBuild
 @return
 @throws IOException]]>
      </doc>
    </method>
    <method name="getJobs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.tools.pigstats.PigStats"/>
      <doc>
      <![CDATA[Retrieves a list of Job objects from the PigStats object
 @param stats
 @return A list of ExecJob objects]]>
      </doc>
    </method>
    <method name="discardBatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Discards a batch of Pig commands.

 @throws FrontendException]]>
      </doc>
    </method>
    <method name="addPathToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[Add a path to be skipped while automatically shipping binaries for
 streaming.

 @param path path to be skipped]]>
      </doc>
    </method>
    <method name="registerFunction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="function" type="java.lang.String"/>
      <param name="funcSpec" type="org.apache.pig.FuncSpec"/>
      <doc>
      <![CDATA[Defines an alias for the given function spec. This
 is useful for functions that require arguments to the
 constructor.

 @param function - the new function alias to define.
 @param funcSpec - the FuncSpec object representing the name of
 the function class and any arguments to constructor.]]>
      </doc>
    </method>
    <method name="registerStreamingCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="commandAlias" type="java.lang.String"/>
      <param name="command" type="org.apache.pig.impl.streaming.StreamingCommand"/>
      <doc>
      <![CDATA[Defines an alias for the given streaming command.

 @param commandAlias - the new command alias to define
 @param command - streaming command to be executed]]>
      </doc>
    </method>
    <method name="registerJar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Registers a jar file. Name of the jar file can be an absolute or
 relative path.

 If multiple resources are found with the specified name, the
 first one is registered as returned by getSystemResources.
 A warning is issued to inform the user.

 @param name of the jar file to register
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="scriptingLang" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Universal Scripting Language Support, see PIG-928

 @param path path of the script file
 @param scriptingLang language keyword or scriptingEngine used to interpret the script
 @param namespace namespace defined for functions of this script
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerQuery"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="query" type="java.lang.String"/>
      <param name="startLine" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a query with the Pig runtime. The query is parsed and registered, but it is not
 executed until it is needed.

 @param query
            a Pig Latin expression to be evaluated.
 @param startLine
            line number of the query within the whole script
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerQuery"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="query" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a query with the Pig runtime. The query is parsed and registered, but it is not
 executed until it is needed.  Equivalent to calling {@link #registerQuery(String, int)}
 with startLine set to 1.

 @param query
            a Pig Latin expression to be evaluated.
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script from InputStream source which is more general and extensible
 the pig script can be from local file, then you can use FileInputStream.
 or pig script can be in memory which you build it dynamically, the you can use ByteArrayInputStream
 even pig script can be in remote machine, which you get wrap it as SocketInputStream
 @param in
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <param name="params" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script from InputStream source which is more general and extensible
 the pig script can be from local file, then you can use FileInputStream.
 or pig script can be in memory which you build it dynamically, the you can use ByteArrayInputStream
 even pig script can be in remote machine, which you get wrap it as SocketInputStream.
 The parameters in the pig script will be substituted with the values in params
 @param in
 @param params the key is the parameter name, and the value is the parameter value
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <param name="paramsFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script from InputStream source which is more general and extensible
 the pig script can be from local file, then you can use FileInputStream.
 or pig script can be in memory which you build it dynamically, the you can use ByteArrayInputStream
 even pig script can be in remote machine, which you get wrap it as SocketInputStream
 The parameters in the pig script will be substituted with the values in the parameter files
 @param in
 @param paramsFiles  files which have the parameter setting
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <param name="params" type="java.util.Map"/>
      <param name="paramsFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script from InputStream.<br>
 The pig script can be from local file, then you can use FileInputStream.
 Or pig script can be in memory which you build it dynamically, the you can use ByteArrayInputStream
 Pig script can even be in remote machine, which you get wrap it as SocketInputStream.<br>
 The parameters in the pig script will be substituted with the values in the map and the parameter files.
 The values in params Map will override the value in parameter file if they have the same parameter
 @param in
 @param params the key is the parameter name, and the value is the parameter value
 @param paramsFiles  files which have the parameter setting
 @throws IOException]]>
      </doc>
    </method>
    <method name="paramMapToList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="params" type="java.util.Map"/>
    </method>
    <method name="getClonedGraph" return="org.apache.pig.PigServer.Graph"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Creates a clone of the current DAG
 @return A Graph object which is a clone of the current DAG
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a query with the Pig runtime.  The query will be read from the indicated file.
 @param fileName file to read query from.
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="params" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script file.  The parameters in the file will be substituted with the values in params
 @param fileName  pig script file
 @param params  the key is the parameter name, and the value is the parameter value
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="paramsFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script file.  The parameters in the file will be substituted with the values in the parameter files
 @param fileName pig script file
 @param paramsFiles  files which have the parameter setting
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="params" type="java.util.Map"/>
      <param name="paramsFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a pig script file.  The parameters in the file will be substituted with the values in the map and the parameter files
 The values in params Map will override the value in parameter file if they have the same parameter
 @param fileName  pig script
 @param params  the key is the parameter name, and the value is the parameter value
 @param paramsFiles   files which have the parameter setting
 @throws IOException]]>
      </doc>
    </method>
    <method name="printAliases"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Intended to be used by unit tests only.
 Print a list of all aliases in in the current Pig Latin script.  Output is written to
 System.out.
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="dumpSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write the schema for an alias to System.out.
 @param alias Alias whose schema will be written out
 @return Schema of alias dumped
 @throws IOException]]>
      </doc>
    </method>
    <method name="dumpSchemaNested" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="nestedAlias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write the schema for a nestedAlias to System.out. Denoted by
 alias::nestedAlias.

 @param alias Alias whose schema has nestedAlias
 @param nestedAlias Alias whose schema will be written out
 @return Schema of alias dumped
 @throws IOException]]>
      </doc>
    </method>
    <method name="setJobName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the name of the job.  This name will get translated to mapred.job.name.
 @param name of job]]>
      </doc>
    </method>
    <method name="setJobPriority"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="priority" type="java.lang.String"/>
      <doc>
      <![CDATA[Set Hadoop job priority.  This value will get translated to mapred.job.priority.
 @param priority valid values are found in {@link org.apache.hadoop.mapred.JobPriority}]]>
      </doc>
    </method>
    <method name="openIterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="id" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Executes a Pig Latin script up to and including indicated alias.  That is, if a user does:
 <pre>
 PigServer server = new PigServer();
 server.registerQuery("A = load 'foo';");
 server.registerQuery("B = filter A by $0 &gt; 0;");
 server.registerQuery("C = order B by $1;");
 </pre>
 Then
 <pre>
 server.openIterator("B");
 </pre>
 filtered but unsorted data will be returned.  If instead a user does
 <pre>
 server.openIterator("C");
 </pre>
 filtered and sorted data will be returned.
 @param id Alias to open iterator for
 @return iterator of tuples returned from the script
 @throws IOException]]>
      </doc>
    </method>
    <method name="store" return="org.apache.pig.backend.executionengine.ExecJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="id" type="java.lang.String"/>
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Executes a Pig Latin script up to and including indicated alias and stores the resulting
 records into a file.  That is, if a user does:
 <pre>
 PigServer server = new PigServer();
 server.registerQuery("A = load 'foo';");
 server.registerQuery("B = filter A by $0 &gt; 0;");
 server.registerQuery("C = order B by $1;");
 </pre>
 Then
 <pre>
 server.store("B", "bar");
 </pre>
 filtered but unsorted data will be stored to the file <tt>bar</tt>.  If instead a user does
 <pre>
 server.store("C", "bar");
 </pre>
 filtered and sorted data will be stored to the file <tt>bar</tt>.
 Equivalent to calling {@link #store(String, String, String)} with
 <tt>org.apache.pig.PigStorage</tt> as the store function.
 @param id The alias to store
 @param filename The file to which to store to
 @return {@link ExecJob} containing information about this job
 @throws IOException]]>
      </doc>
    </method>
    <method name="store" return="org.apache.pig.backend.executionengine.ExecJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="id" type="java.lang.String"/>
      <param name="filename" type="java.lang.String"/>
      <param name="func" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Executes a Pig Latin script up to and including indicated alias and stores the resulting
 records into a file.  That is, if a user does:
 <pre>
 PigServer server = new PigServer();
 server.registerQuery("A = load 'foo';");
 server.registerQuery("B = filter A by $0 &gt; 0;");
 server.registerQuery("C = order B by $1;");
 </pre>
 Then
 <pre>
 server.store("B", "bar", "mystorefunc");
 </pre>
 filtered but unsorted data will be stored to the file <tt>bar</tt> using
 <tt>mystorefunc</tt>.  If instead a user does
 <pre>
 server.store("C", "bar", "mystorefunc");
 </pre>
 filtered and sorted data will be stored to the file <tt>bar</tt> using
 <tt>mystorefunc</tt>.
 <p>
 @param id The alias to store
 @param filename The file to which to store to
 @param func store function to use
 @return {@link ExecJob} containing information about this job
 @throws IOException]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="stream" type="java.io.PrintStream"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Provide information on how a pig query will be executed.  For now
 this information is very developer focussed, and probably not very
 useful to the average user.
 @param alias Name of alias to explain.
 @param stream PrintStream to write explanation to.
 @throws IOException if the requested alias cannot be found.]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <param name="markAsExecute" type="boolean"/>
      <param name="lps" type="java.io.PrintStream"/>
      <param name="eps" type="java.io.PrintStream"/>
      <param name="dir" type="java.io.File"/>
      <param name="suffix" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Provide information on how a pig query will be executed.
 @param alias Name of alias to explain.
 @param format Format in which the explain should be printed.  If text, then the plan will
 be printed in plain text.  Otherwise, the execution plan will be printed in
 <a href="http://en.wikipedia.org/wiki/DOT_language">DOT</a> format.
 @param verbose Controls the amount of information printed
 @param markAsExecute When set will treat the explain like a
 call to execute in the respoect that all the pending stores are
 marked as complete.
 @param lps Stream to print the logical tree
 @param eps Stream to print the ExecutionEngine trees. If null, then will print to files
 @param dir Directory to print ExecutionEngine trees. If null, will use eps
 @param suffix Suffix of file names
 @throws IOException if the requested alias cannot be found.]]>
      </doc>
    </method>
    <method name="capacity" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the unused byte capacity of an HDFS filesystem. This value does
 not take into account a replication factor, as that can vary from file
 to file. Thus if you are using this to determine if you data set will fit
 in the HDFS, you need to divide the result of this call by your specific replication
 setting.
 @return unused byte capacity of the file system.
 @throws IOException]]>
      </doc>
    </method>
    <method name="fileSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the length of a file in bytes which exists in the HDFS (accounts for replication).
 @param filename
 @return length of the file in bytes
 @throws IOException]]>
      </doc>
    </method>
    <method name="existsFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Test whether a file exists.
 @param filename to test
 @return true if file exists, false otherwise
 @throws IOException]]>
      </doc>
    </method>
    <method name="deleteFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Delete a file.
 @param filename to delete
 @return true
 @throws IOException]]>
      </doc>
    </method>
    <method name="renameFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="source" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Rename a file.
 @param source file to rename
 @param target new file name
 @return true
 @throws IOException]]>
      </doc>
    </method>
    <method name="mkdirs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dirs" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Make a directory.
 @param dirs directory to make
 @return true
 @throws IOException]]>
      </doc>
    </method>
    <method name="listPaths" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dir" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[List the contents of a directory.
 @param dir name of directory to list
 @return array of strings, one for each file name
 @throws IOException]]>
      </doc>
    </method>
    <method name="getAliases" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return a map containing the logical plan associated with each alias.

 @return map]]>
      </doc>
    </method>
    <method name="shutdown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reclaims resources used by this instance of PigServer. This method
 deletes all temporary files generated by the current thread while
 executing Pig commands.]]>
      </doc>
    </method>
    <method name="getAliasKeySet" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the set of all current aliases.
 @return set]]>
      </doc>
    </method>
    <method name="getExamples" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="printHistory"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="withNumbers" type="boolean"/>
    </method>
    <method name="launchPlan" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="jobName" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[A common method for launching the jobs according to the logical plan
 @param lp The logical plan
 @param jobName A String containing the job name to be used
 @return The PigStats object
 @throws ExecException
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getLogicalPlanData" return="org.apache.pig.newplan.logical.relational.LogicalPlanData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns data associated with LogicalPlan. It makes
 sense to call this method only after a query/script
 has been registered with one of the {@link #registerQuery(String)}
 or {@link #registerScript(InputStream)} methods.

 @return LogicalPlanData]]>
      </doc>
    </method>
    <method name="setValidateEachStatement"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="validateEachStatement" type="boolean"/>
      <doc>
      <![CDATA[This can be called to indicate if the query is being parsed/compiled
 in a mode that expects each statement to be validated as it is
 entered, instead of just doing it once for whole script.
 @param validateEachStatement]]>
      </doc>
    </method>
    <method name="setSkipParseInRegisterForBatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="skipParseInRegisterForBatch" type="boolean"/>
      <doc>
      <![CDATA[Set whether to skip parsing while registering the query in batch mode
 @param skipParseInRegisterForBatch]]>
      </doc>
    </method>
    <method name="getLastRel" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDebugOn" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobPriority" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="PRETTY_PRINT_SCHEMA_PROPERTY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="graphs" type="java.util.Deque"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigContext" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="scope" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A class for Java programs to connect to Pig. Typically a program will create a PigServer
 instance. The programmer then registers queries using registerQuery() and
 retrieves results using openIterator() or store(). After doing so, the
 shutdown() method should be called to free any resources used by the current
 PigServer instance. Not doing so could result in a memory leak.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigServer -->
  <!-- start class org.apache.pig.PigServer.Graph -->
  <class name="PigServer.Graph" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="Graph" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLogicalPlan" return="org.apache.pig.newplan.logical.relational.LogicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPlan" return="org.apache.pig.newplan.logical.relational.LogicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptCache" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLastRel" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="duplicate" return="org.apache.pig.PigServer.Graph"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.PigServer.Graph -->
  <!-- start class org.apache.pig.PigStreamingBase -->
  <class name="PigStreamingBase" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.PigToStream"/>
    <implements name="org.apache.pig.StreamToPig"/>
    <constructor name="PigStreamingBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="serialize" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="serializeToBytes" return="org.apache.pig.data.WritableByteArray"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Given a tuple, produce an array of bytes to be passed to the streaming
 executable.
 @param t Tuple to serialize
 @return Serialized form of the tuple
 @throws IOException]]>
      </doc>
    </method>
    <method name="deserialize" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <param name="offset" type="int"/>
      <param name="length" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Given a byte array from a streaming executable, produce a tuple.
 @param bytes  bytes to deserialize.
 @param offset the offset in the byte array from which to deserialize.
 @param length the number of bytes from the offset of the byte array to deserialize.
 @return Data as a Pig Tuple.
 @throws IOException]]>
      </doc>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This will be called on the front end during planning and not on the back
 end during execution.

 @return the {@link LoadCaster} associated with this object, or null if
 there is no such LoadCaster.
 @throws IOException if there is an exception during LoadCaster]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The interface is used for the custom mapping of
    - a {@link Tuple} to a byte array. The byte array is fed to the stdin
      of the streaming process.
    - a byte array, received from the stdout of the streaming process,
      to a {@link Tuple}.

 This interface is designed to provide a common protocol for data exchange
 between Pig runtime and streaming executables.

 Typically, a user implements this interface for a particular type of stream
 command and specifies the implementation class in the Pig DEFINE statement.

 @since Pig 0.12]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigStreamingBase -->
  <!-- start interface org.apache.pig.PigToStream -->
  <interface name="PigToStream"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="Use {@link org.apache.pig.PigStreamingBase}">
    <method name="serialize" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Given a tuple, produce an array of bytes to be passed to the streaming
 executable.
 @param t Tuple to serialize
 @return Serialized form of the tuple
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[@deprecated Use {@link org.apache.pig.PigStreamingBase}]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.PigToStream -->
  <!-- start class org.apache.pig.PigWarning -->
  <class name="PigWarning" extends="java.lang.Enum"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.PigWarning[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.PigWarning"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="ACCESSING_NON_EXISTENT_FIELD" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DID_NOT_FIND_LOAD_ONLY_MAP_PLAN" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DIVIDE_BY_ZERO" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FIELD_DISCARDED_TYPE_CONVERSION_FAILED" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GROUP_BY_INCOMPATIBLE_TYPES" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_BAG" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_CHARARRAY" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_DOUBLE" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_FLOAT" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_INT" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_LONG" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_BIGINTEGER" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_BIGDECIMAL" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_BOOLEAN" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_DATETIME" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_MAP" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPLICIT_CAST_TO_TUPLE" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TOO_LARGE_FOR_INT" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_LEAF_MAP" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_ROOT_REDUCE" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NON_PACKAGE_REDUCE_PLAN_ROOT" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NON_EMPTY_COMBINE_PLAN" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PROGRESS_REPORTER_NOT_PROVIDED" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_PLAN_NOT_EMPTY_WHILE_MAP_PLAN_UNDER_PROCESS" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_1" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_2" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_3" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_4" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_5" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_6" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_7" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_8" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_9" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_10" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_11" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDF_WARNING_12" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNABLE_TO_CREATE_FILE_TO_SPILL" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNABLE_TO_SPILL" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNABLE_TO_CLOSE_SPILL_FILE" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNREACHABLE_CODE_BOTH_MAP_AND_REDUCE_PLANS_PROCESSED" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="USING_OVERLOADED_FUNCTION" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCER_COUNT_LOW" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NULL_COUNTER_COUNT" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DELETE_FAILED" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PROJECTION_INVALID_RANGE" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NO_LOAD_FUNCTION_FOR_CASTING_BYTEARRAY" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SKIP_UDF_CALL_FOR_NULL" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SPARK_WARN" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SPARK_CUSTOM_WARN" type="org.apache.pig.PigWarning"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An enum to enumerate the warning types in Pig]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PigWarning -->
  <!-- start class org.apache.pig.PrimitiveEvalFunc -->
  <class name="PrimitiveEvalFunc" extends="org.apache.pig.TypedOutputEvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PrimitiveEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PrimitiveEvalFunc" type="java.lang.Class, java.lang.Class"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInputTypeClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="inTypeClass" type="java.lang.Class"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Base class for simple Pig UDFs that are functions of primitive types IN to OUT. Handles
 marshalling objects, basic error checking, etc. Extend this class and implement the
 <pre>OUT exec(IN input)</pre> method when writting a UDF that operates on only the first input
 (of expected type IN) from the Tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.PrimitiveEvalFunc -->
  <!-- start class org.apache.pig.ResourceSchema -->
  <class name="ResourceSchema" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="ResourceSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct an empty ResourceSchema.]]>
      </doc>
    </constructor>
    <constructor name="ResourceSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a ResourceSchema from a {@link Schema}
 @param pigSchema Schema to use]]>
      </doc>
    </constructor>
    <constructor name="ResourceSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a ResourceSchema from a {@link LogicalSchema}
 @param pigSchema Schema to use]]>
      </doc>
    </constructor>
    <constructor name="ResourceSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema, org.apache.pig.SortInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Only for use by Pig internal code.
 Construct a ResourceSchema from a {@link Schema}
 @param pigSchema Schema to use
 @param sortInfo information on how data is sorted]]>
      </doc>
    </constructor>
    <constructor name="ResourceSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema, org.apache.pig.SortInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Only for use by Pig internal code.
 Construct a ResourceSchema from a {@link LogicalSchema}
 @param pigSchema LogicalSchema to use
 @param sortInfo information on how data is sorted]]>
      </doc>
    </constructor>
    <method name="getVersion" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the version of this schema.
 @return version]]>
      </doc>
    </method>
    <method name="setVersion" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="version" type="int"/>
    </method>
    <method name="getFields" return="org.apache.pig.ResourceSchema.ResourceFieldSchema[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get field schema for each field
 @return array of field schemas.]]>
      </doc>
    </method>
    <method name="fieldNames" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all field names.
 @return array of field names]]>
      </doc>
    </method>
    <method name="setFields" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="org.apache.pig.ResourceSchema.ResourceFieldSchema[]"/>
      <doc>
      <![CDATA[Set all the fields.  If fields are not currently null the new fields will be silently
 ignored.
 @param fields to use as fields in this schema
 @return this]]>
      </doc>
    </method>
    <method name="getSortKeys" return="int[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the sort keys for this data.
 @return array of ints.  Each integer in the array represents the field number.  So if the
 schema of the data is (a, b, c, d) and the data is sorted on c, b, the returned sort keys
 will be [2, 1].  Field numbers are zero based.  If the data is not sorted a zero length
 array will be returned.]]>
      </doc>
    </method>
    <method name="setSortKeys" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortKeys" type="int[]"/>
      <doc>
      <![CDATA[Set the sort keys for htis data.  If sort keys are not currently null the new sort keys
 will be silently ignored.
 @param sortKeys  Each integer in the array represents the field number.  So if the
 schema of the data is (a, b, c, d) and the data is sorted on c, b, the sort keys
 should be [2, 1].  Field numbers are zero based.
 @return this]]>
      </doc>
    </method>
    <method name="getSortKeyOrders" return="org.apache.pig.ResourceSchema.Order[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get order for sort keys.
 @return array of Order.  This array will be the same length as the int[] array returned by
 {@link #getSortKeys}.]]>
      </doc>
    </method>
    <method name="setSortKeyOrders" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortKeyOrders" type="org.apache.pig.ResourceSchema.Order[]"/>
      <doc>
      <![CDATA[Set the order for each sort key.  If order is not currently null, new order will be
 silently ignored.
 @param sortKeyOrders array of Order.  Should be the same length as int[] passed to 
 {@link #setSortKeys}.
 @return this]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rs1" type="org.apache.pig.ResourceSchema"/>
      <param name="rs2" type="org.apache.pig.ResourceSchema"/>
      <doc>
      <![CDATA[Test whether two ResourceSchemas are the same.  Two schemas are said to be the same if they
 are both null or 
 have the same number of fields and for each field the name, type are the same.  For fields
 that have may have schemas (i.e. tuples) both schemas be equal.  Field
 descriptions are not used in testing equality.
 @return true if equal according to the above definition, otherwise false.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A represenation of a schema used to communicate with load and store functions.  This is
 separate from {@link Schema}, which is an internal Pig representation of a schema.
 @since Pig 0.7]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.ResourceSchema -->
  <!-- start class org.apache.pig.ResourceSchema.Order -->
  <class name="ResourceSchema.Order" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.ResourceSchema.Order[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.ResourceSchema.Order"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="ASCENDING" type="org.apache.pig.ResourceSchema.Order"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DESCENDING" type="org.apache.pig.ResourceSchema.Order"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.ResourceSchema.Order -->
  <!-- start class org.apache.pig.ResourceSchema.ResourceFieldSchema -->
  <class name="ResourceSchema.ResourceFieldSchema" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="ResourceFieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct an empty field schema.]]>
      </doc>
    </constructor>
    <constructor name="ResourceFieldSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct using a {@link org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema} as the template.
 @param fieldSchema fieldSchema to copy from]]>
      </doc>
    </constructor>
    <constructor name="ResourceFieldSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct using a {@link org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema} as the template.
 @param fieldSchema fieldSchema to copy from]]>
      </doc>
    </constructor>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the name of this field.
 @return name]]>
      </doc>
    </method>
    <method name="setName" return="org.apache.pig.ResourceSchema.ResourceFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the name of this filed.
 @param name new name
 @return this]]>
      </doc>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the type of this field.
 @return type, as a {@link DataType} static final byte]]>
      </doc>
    </method>
    <method name="setType" return="org.apache.pig.ResourceSchema.ResourceFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type" type="byte"/>
      <doc>
      <![CDATA[Set the type of this field
 @param type new type
 @return this]]>
      </doc>
    </method>
    <method name="getDescription" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a free form text description of this field.
 @return description]]>
      </doc>
    </method>
    <method name="setDescription" return="org.apache.pig.ResourceSchema.ResourceFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="description" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the description
 @param description new description
 @return this]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the schema for this field. Type tuple/bag/map may have a schema.
 @return schema]]>
      </doc>
    </method>
    <method name="setSchema" return="org.apache.pig.ResourceSchema.ResourceFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set the schema for this field. Type tuple/bag/map may have a schema.
 @param schema new schema
 @return this]]>
      </doc>
    </method>
    <method name="throwInvalidSchemaException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="calcCastString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.ResourceSchema.ResourceFieldSchema -->
  <!-- start class org.apache.pig.ResourceStatistics -->
  <class name="ResourceStatistics" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Cloneable"/>
    <constructor name="ResourceStatistics"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getmBytes" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setmBytes" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="Use {@link ResourceStatistics#setSizeInBytes(Long)} instead">
      <param name="mBytes" type="java.lang.Long"/>
      <doc>
      <![CDATA[@param mBytes
 @deprecated Use {@link ResourceStatistics#setSizeInBytes(Long)} instead]]>
      </doc>
    </method>
    <method name="setSizeInBytes"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="java.lang.Long"/>
      <doc>
      <![CDATA[Sets the size in bytes
 
 @param bytes]]>
      </doc>
    </method>
    <method name="getSizeInBytes" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return size in bytes.]]>
      </doc>
    </method>
    <method name="getNumRecords" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNumRecords" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numRecords" type="java.lang.Long"/>
    </method>
    <method name="getAvgRecordSize" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAvgRecordSize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sizeInBytes" type="java.lang.Long"/>
      <doc>
      <![CDATA[Set average record size in bytes
 
 @param sizeInBytes]]>
      </doc>
    </method>
    <method name="getFields" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFields" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="org.apache.pig.ResourceStatistics.ResourceFieldStatistics[]"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="anOther" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[An class that represents statistics about data to be loaded or stored.  It is marked unstable
 because Pig does very little statistics collection at this point.  If and when that
 functionality is added it is expected that this interface will change.
 @since Pig 0.7]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.ResourceStatistics -->
  <!-- start class org.apache.pig.ResourceStatistics.ResourceFieldStatistics -->
  <class name="ResourceStatistics.ResourceFieldStatistics" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="ResourceFieldStatistics"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getVersion" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setVersion" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="version" type="int"/>
    </method>
    <method name="getNumDistinctValues" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNumDistinctValues" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numDistinctValues" type="java.lang.Long"/>
    </method>
    <method name="getMostCommonValues" return="java.lang.Object[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMostCommonValues" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mostCommonValues" type="java.lang.Object[]"/>
    </method>
    <method name="getMostCommonValuesFreq" return="float[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMostCommonValuesFreq" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mostCommonValuesFreq" type="float[]"/>
    </method>
    <method name="getValueHistogram" return="java.lang.Object[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setValueHistogram" return="org.apache.pig.ResourceStatistics.ResourceFieldStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="valueHistogram" type="java.lang.Object[]"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="anOther" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A naive hashCode implementation following the example in IBM's developerworks:
 http://www.ibm.com/developerworks/java/library/j-jtp05273.html]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Statistics for a given field in the data.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.ResourceStatistics.ResourceFieldStatistics -->
  <!-- start class org.apache.pig.SortColInfo -->
  <class name="SortColInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="SortColInfo" type="java.lang.String, int, org.apache.pig.SortColInfo.Order"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param colName sort column name
 @param colIndex index position (0 based) of sort column
 @param orderingType whether the column is sorted ascending or descending]]>
      </doc>
    </constructor>
    <method name="getColName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the sort column name - could be null or empty string if
 column name could not be determined either because of the absence of
 a schema or because the schema had the column name as null or empty
 string - caller should check for these conditions.]]>
      </doc>
    </method>
    <method name="getColIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return index position (0 based) of sort column]]>
      </doc>
    </method>
    <method name="getSortOrder" return="org.apache.pig.SortColInfo.Order"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return whether the column is sorted ascending or descending]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A class representing information about a sort column in {@link SortInfo}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.SortColInfo -->
  <!-- start class org.apache.pig.SortColInfo.Order -->
  <class name="SortColInfo.Order" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.SortColInfo.Order[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.SortColInfo.Order"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="ASCENDING" type="org.apache.pig.SortColInfo.Order"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DESCENDING" type="org.apache.pig.SortColInfo.Order"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.SortColInfo.Order -->
  <!-- start class org.apache.pig.SortInfo -->
  <class name="SortInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="SortInfo" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param sortColInfoList list of sortColInfo, one for each field in the data]]>
      </doc>
    </constructor>
    <method name="getSortColInfoList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the sortColInfoList the list of sortColInfo for this data]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isGloballySorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isGloballySorted true if the data is globally sorted, false if it is sorted
 only within each part file.]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Class to communicate sort column information based on 
 order by statment's sort columns and schema]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.SortInfo -->
  <!-- start interface org.apache.pig.StaticDataCleanup -->
  <interface name="StaticDataCleanup"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
  </interface>
  <!-- end interface org.apache.pig.StaticDataCleanup -->
  <!-- start interface org.apache.pig.StoreCaster -->
  <interface name="StoreCaster"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadCaster"/>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bi" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bd" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[An interface that provides methods for converting Pig internal types to byte[].
 It is intended to be used by StoreFunc implementations.
 @since Pig 0.8]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.StoreCaster -->
  <!-- start class org.apache.pig.StoreFunc -->
  <class name="StoreFunc" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <constructor name="StoreFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called by the Pig runtime in the front end to convert the
 output location to an absolute path if the location is relative. The
 StoreFunc implementation is free to choose how it converts a relative
 location to an absolute location since this may depend on what the location
 string represent (hdfs path or some other data source).


 @param location location as provided in the "store" statement of the script
 @param curDir the current working direction based on any "cd" statements
 in the script before the "store" statement. If there are no "cd" statements
 in the script, this would be the home directory -
 <pre>/user/<username> </pre>
 @return the absolute location based on the arguments passed
 @throws IOException if the conversion is not possible]]>
      </doc>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Return the OutputFormat associated with StoreFunc.  This will be called
 on the front end during planning and on the backend during
 execution.
 @return the {@link OutputFormat} associated with StoreFunc
 @throws IOException if an exception occurs while constructing the
 OutputFormat]]>
      </doc>
    </method>
    <method name="setStoreLocation"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Communicate to the storer the location where the data needs to be stored.
 The location string passed to the {@link StoreFunc} here is the
 return value of {@link StoreFunc#relToAbsPathForStoreLocation(String, Path)}
 This method will be called in the frontend and backend multiple times. Implementations
 should bear in mind that this method is called multiple times and should
 ensure there are no inconsistent side effects due to the multiple calls.
 {@link #checkSchema(ResourceSchema)} will be called before any call to
 {@link #setStoreLocation(String, Job)}.


 @param location Location returned by
 {@link StoreFunc#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object
 @throws IOException if the location is not valid.]]>
      </doc>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set the schema for data to be stored.  This will be called on the
 front end during planning if the store is associated with a schema.
 A Store function should implement this function to
 check that a given schema is acceptable to it.  For example, it
 can check that the correct partition keys are included;
 a storage function to be written directly to an OutputFormat can
 make sure the schema will translate in a well defined way.  Default implementation
 is a no-op.
 @param s to be checked
 @throws IOException if this schema is not acceptable.  It should include
 a detailed error message indicating what is wrong with the schema.]]>
      </doc>
    </method>
    <method name="prepareToWrite"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Initialize StoreFunc to write data.  This will be called during
 execution on the backend before the call to putNext.
 @param writer RecordWriter to use.
 @throws IOException if an exception occurs during initialization]]>
      </doc>
    </method>
    <method name="putNext"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write a tuple to the data store.

 @param t the tuple to store.
 @throws IOException if an exception occurs during the write]]>
      </doc>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[This method will be called by Pig both in the front end and back end to
 pass a unique signature to the {@link StoreFunc} which it can use to store
 information in the {@link UDFContext} which it needs to store between
 various method invocations in the front end and back end. This method
 will be called before other methods in {@link StoreFunc}.  This is necessary
 because in a Pig Latin script with multiple stores, the different
 instances of store functions need to be able to find their (and only their)
 data in the UDFContext object.  The default implementation is a no-op.
 @param signature a unique signature to identify this StoreFunc]]>
      </doc>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method will be called by Pig if the job which contains this store
 fails. Implementations can clean up output locations in this method to
 ensure that no incorrect/incomplete results are left in the output location.
 The default implementation  deletes the output location if it
 is a {@link FileSystem} location.
 @param location Location returned by
 {@link StoreFunc#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object - this should be used only to obtain
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.]]>
      </doc>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method will be called by Pig if the job which contains this store
 is successful, and some cleanup of intermediate resources is required.
 Implementations can clean up output locations in this method to
 ensure that no incorrect/incomplete results are left in the output location.
 @param location Location returned by
 {@link StoreFunc#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object - this should be used only to obtain
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.]]>
      </doc>
    </method>
    <method name="cleanupOnFailureImpl"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Default implementation for {@link #cleanupOnFailure(String, Job)}
 and {@link #cleanupOnSuccess(String, Job)}.  This removes a file
 from HDFS.
 @param location file name (or URI) of file to remove
 @param job Hadoop job, used to access the appropriate file system.
 @throws IOException]]>
      </doc>
    </method>
    <method name="supportsParallelWriteToStoreLocation" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[DAG execution engines like Tez support optimizing union by writing to
 output location in parallel from tasks of different vertices. Commit is
 called once all the vertices in the union are complete. This eliminates
 need to have a separate phase to read data output from previous phases,
 union them and write out again.

 Enabling the union optimization requires the OutputFormat to

      1) Support creation of different part file names for tasks of different
 vertices. Conflicting filenames can create data corruption and loss.
 For eg: If task 0 of vertex1 and vertex2 both create filename as
 part-r-00000, then one of the files will be overwritten when promoting
 from temporary to final location leading to data loss.
      FileOutputFormat has mapreduce.output.basename config which enables
  naming files differently in different vertices. Classes extending
  FileOutputFormat and those prefixing file names with mapreduce.output.basename
  value will not encounter conflict. Cases like HBaseStorage which write to key
  value store and do not produce files also should not face any conflict.

      2) Support calling of commit once at the end takes care of promoting
 temporary files of the different vertices into the final location.
 For eg: FileOutputFormat commit algorithm handles promoting of files produced
 by tasks of different vertices into final output location without issues
 if there is no file name conflict. In cases like HBaseStorage, the
 TableOutputCommitter does nothing on commit.

 If custom OutputFormat used by the StoreFunc does not support the above
 two criteria, then false should be returned. Union optimization will be
 disabled for the StoreFunc.

 Default implementation returns null and in that case planner falls back
 to {@link PigConfiguration.PIG_TEZ_OPT_UNION_SUPPORTED_STOREFUNCS} and
 {@link PigConfiguration.PIG_TEZ_OPT_UNION_UNSUPPORTED_STOREFUNCS}
 settings to determine if the StoreFunc supports it.]]>
      </doc>
    </method>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
      <doc>
      <![CDATA[Issue a warning.  Warning messages are aggregated and reported to
 the user.
 @param msg String message of the warning
 @param warningEnum type of warning]]>
      </doc>
    </method>
    <doc>
    <![CDATA[StoreFuncs take records from Pig's processing and store them into a data store.  Most frequently
 this is an HDFS file, but it could also be an HBase instance, RDBMS, etc.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.StoreFunc -->
  <!-- start interface org.apache.pig.StoreFuncInterface -->
  <interface name="StoreFuncInterface"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called by the Pig runtime in the front end to convert the
 output location to an absolute path if the location is relative. The
 StoreFuncInterface implementation is free to choose how it converts a relative 
 location to an absolute location since this may depend on what the location
 string represent (hdfs path or some other data source). 
 The static method {@link LoadFunc#getAbsolutePath} provides a default 
 implementation for hdfs and hadoop local file system and it can be used
 to implement this method.  
 
 @param location location as provided in the "store" statement of the script
 @param curDir the current working direction based on any "cd" statements
 in the script before the "store" statement. If there are no "cd" statements
 in the script, this would be the home directory - 
 <pre>/user/<username> </pre>
 @return the absolute location based on the arguments passed
 @throws IOException if the conversion is not possible]]>
      </doc>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Return the OutputFormat associated with StoreFuncInterface.  This will be called
 on the front end during planning and on the backend during
 execution. 
 @return the {@link OutputFormat} associated with StoreFuncInterface
 @throws IOException if an exception occurs while constructing the 
 OutputFormat]]>
      </doc>
    </method>
    <method name="setStoreLocation"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Communicate to the storer the location where the data needs to be stored.  
 The location string passed to the {@link StoreFuncInterface} here is the 
 return value of {@link StoreFuncInterface#relToAbsPathForStoreLocation(String, Path)}
 This method will be called in the frontend and backend multiple times. Implementations
 should bear in mind that this method is called multiple times and should
 ensure there are no inconsistent side effects due to the multiple calls.
 {@link #checkSchema(ResourceSchema)} will be called before any call to
 {@link #setStoreLocation(String, Job)}.
 

 @param location Location returned by 
 {@link StoreFuncInterface#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object
 @throws IOException if the location is not valid.]]>
      </doc>
    </method>
    <method name="checkSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set the schema for data to be stored.  This will be called on the
 front end during planning if the store is associated with a schema.
 A Store function should implement this function to
 check that a given schema is acceptable to it.  For example, it
 can check that the correct partition keys are included;
 a storage function to be written directly to an OutputFormat can
 make sure the schema will translate in a well defined way.  
 @param s to be checked
 @throws IOException if this schema is not acceptable.  It should include
 a detailed error message indicating what is wrong with the schema.]]>
      </doc>
    </method>
    <method name="prepareToWrite"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Initialize StoreFuncInterface to write data.  This will be called during
 execution before the call to putNext.
 @param writer RecordWriter to use.
 @throws IOException if an exception occurs during initialization]]>
      </doc>
    </method>
    <method name="putNext"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write a tuple to the data store.
 @param t the tuple to store.
 @throws IOException if an exception occurs during the write]]>
      </doc>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[This method will be called by Pig both in the front end and back end to
 pass a unique signature to the {@link StoreFuncInterface} which it can use to store
 information in the {@link UDFContext} which it needs to store between
 various method invocations in the front end and back end.  This is necessary
 because in a Pig Latin script with multiple stores, the different
 instances of store functions need to be able to find their (and only their)
 data in the UDFContext object.
 @param signature a unique signature to identify this StoreFuncInterface]]>
      </doc>
    </method>
    <method name="cleanupOnFailure"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method will be called by Pig if the job which contains this store
 fails. Implementations can clean up output locations in this method to
 ensure that no incorrect/incomplete results are left in the output location
 @param location Location returned by 
 {@link StoreFuncInterface#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.]]>
      </doc>
    </method>
    <method name="cleanupOnSuccess"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method will be called by Pig if the job which contains this store
 is successful, and some cleanup of intermediate resources is required.
 Implementations can clean up output locations in this method to
 ensure that no incorrect/incomplete results are left in the output location
 @param location Location returned by 
 {@link StoreFuncInterface#relToAbsPathForStoreLocation(String, Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[StoreFuncs take records from Pig's processing and store them into a data store.  Most frequently
 this is an HDFS file, but it could also be an HBase instance, RDBMS, etc.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.StoreFuncInterface -->
  <!-- start class org.apache.pig.StoreFuncMetadataWrapper -->
  <class name="StoreFuncMetadataWrapper" extends="org.apache.pig.StoreFuncWrapper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreMetadata"/>
    <constructor name="StoreFuncMetadataWrapper"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setStoreFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="storeFunc" type="org.apache.pig.StoreMetadata"/>
      <doc>
      <![CDATA[The wrapped StoreMetadata object must be set before method calls are made on this object.
 Typically, this is done with via constructor, but often times the wrapped object can
 not be properly initialized until later in the lifecycle of the wrapper object.
 @param storeFunc]]>
      </doc>
    </method>
    <method name="storeStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceStatistics" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceSchema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Convenience class to extend when decorating a class that implements both StoreFunc and
 StoreMetadata. It's not abstract so that it will fail to compile if new methods get added to
 either interface.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.StoreFuncMetadataWrapper -->
  <!-- start class org.apache.pig.StoreFuncWrapper -->
  <class name="StoreFuncWrapper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <constructor name="StoreFuncWrapper"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setStoreFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="storeFunc" type="org.apache.pig.StoreFuncInterface"/>
      <doc>
      <![CDATA[The wrapped StoreFuncInterface object must be set before method calls are made on this object.
 Typically, this is done with via constructor, but often times the wrapped object can
 not be properly initialized until later in the lifecycle of the wrapper object.
 @param storeFunc]]>
      </doc>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="path" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceSchema" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="recordWriter" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getMethodName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="depth" type="int"/>
      <doc>
      <![CDATA[Returns a method in the call stack at the given depth. Depth 0 will return the method that
 called this getMethodName, depth 1 the method that called it, etc...
 @param depth
 @return method name as String]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Convenience class to extend when decorating a StoreFunc. It's not abstract so that it will fail
 to compile if new methods get added to StoreFuncInterface. Subclasses must call the setStoreFunc
 with an instance of StoreFuncInterface before other methods can be called. Not doing so will
 result in an IllegalArgumentException when the method is called.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.StoreFuncWrapper -->
  <!-- start interface org.apache.pig.StoreMetadata -->
  <interface name="StoreMetadata"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="storeStatistics"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Store statistics about the data being written.
 @param stats statistics to be recorded
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.  
 @throws IOException]]>
      </doc>
    </method>
    <method name="storeSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Store schema of the data being written
 @param schema Schema to be recorded
 @param location Location as returned by 
 {@link LoadFunc#relativeToAbsolutePath(String, org.apache.hadoop.fs.Path)}
 @param job The {@link Job} object - this should be used only to obtain 
 cluster properties through {@link Job#getConfiguration()} and not to set/query
 any runtime job information.  
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface defines how to write metadata related to data to be stored.
 If a given store function does not implement this interface, it will be assumed that it
 is unable to record metadata about the associated data.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.StoreMetadata -->
  <!-- start interface org.apache.pig.StoreResources -->
  <interface name="StoreResources"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getCacheFiles" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a StoreFunc to specify a list of files it would like placed in the distributed 
 cache.
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Allow a StoreFunc to specify a list of files located locally and would like to ship to backend 
 (through distributed cache). Check for {@link FuncUtils} for utility function to facilitate it
 The default implementation returns null.
 @return A list of files]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface allow StoreFunc to specify resources needed
 in distributed cache. The resources can be on dfs (getCacheFiles)
 or locally (getShipFiles)
 @since Pig 0.14]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.StoreResources -->
  <!-- start interface org.apache.pig.StreamToPig -->
  <interface name="StreamToPig"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="Use {@link org.apache.pig.PigStreamingBase}">
    <method name="deserialize" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Given a byte array from a streaming executable, produce a tuple.
 @param bytes to deserialize.
 @return Data as a Pig Tuple.]]>
      </doc>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This will be called on both the front end and the back
 end during execution.

 @return the {@link LoadCaster} associated with this object, or null if
 there is no such LoadCaster.
 @throws IOException if there is an exception during LoadCaster]]>
      </doc>
    </method>
    <doc>
    <![CDATA[@deprecated Use {@link org.apache.pig.PigStreamingBase}]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.StreamToPig -->
  <!-- start interface org.apache.pig.TerminatingAccumulator -->
  <interface name="TerminatingAccumulator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <method name="isFinished" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This is an interface which, if implemented, allows an Accumulator
 function to signal that it can terminate early. Certain classes of
 UDF to do not need access to an entire set of data in order to
 finish processing. A model example is {org.apache.pig.builtin.IsEmpty}. IsEmpty
 can be Accumulative as if it receives even one line, it knows that
 it is not empty. Another example might be a UDF which does streaming
 analysis, and once a given stream matches a criteria, can terminate
 without needing any further analysis.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.TerminatingAccumulator -->
  <!-- start class org.apache.pig.TypedOutputEvalFunc -->
  <class name="TypedOutputEvalFunc" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypedOutputEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputTypeClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="verifyInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="minimumSize" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCounterGroup" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Incremented counters will use this as the counter group. Typically this works fine, since
 the subclass name is enough to identify the UDF. In some cases though (i.e. a UDF wrapper that
 is a facade to a number of different transformation functions), a more specific group name is
 needed.]]>
      </doc>
    </method>
    <method name="getTypeArguments" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="baseClass" type="java.lang.Class"/>
      <param name="childClass" type="java.lang.Class"/>
      <doc>
      <![CDATA[Get the actual type arguments a child class has used to extend a generic base class.

 @param baseClass the base class
 @param childClass the child class
 @return a list of the raw classes for the actual type arguments.]]>
      </doc>
    </method>
    <method name="verifyUdfInput"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="klass" type="java.lang.String"/>
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="minimumSize" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Increment Hadoop counters for bad inputs which are either null or too small.

 @param klass the name of the calling class, for recording purposes
 @param input the tuple passed to the UDF.
 @param minimumSize the minimum size required of the tuple.]]>
      </doc>
    </method>
    <method name="safeIncrCounter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="increment" type="java.lang.Long"/>
    </method>
    <field name="outTypeClass" type="java.lang.Class"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Base class for Pig UDFs that are functions from Tuples to generic type OUT. Handles marshalling
 objects, basic error checking, etc. Also infers outputSchema and provides a function to verify
 the input Tuple.
 <P></P>
 Extend this class and implement the <pre>OUT exec(Tuple input)</pre> method when writting a UDF
 that operates on multiple inputs from the Tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.TypedOutputEvalFunc -->
  <doc>
  <![CDATA[<p>
Public interfaces and classes for Pig.
<p>
{@link org.apache.pig.PigServer} is the interface to Pig for use by other java
programs.  Other interfaces and classes in this package are for use by users
when implementing user defined functions.]]>
  </doc>
</package>
<package name="org.apache.pig.backend">
  <!-- start class org.apache.pig.backend.BackendException -->
  <class name="BackendException" extends="org.apache.pig.PigException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BackendException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="BackendException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new BackendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.BackendException -->
</package>
<package name="org.apache.pig.backend.datastorage">
  <!-- start interface org.apache.pig.backend.datastorage.ContainerDescriptor -->
  <interface name="ContainerDescriptor"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.datastorage.ElementDescriptor"/>
    <implements name="java.lang.Iterable"/>
  </interface>
  <!-- end interface org.apache.pig.backend.datastorage.ContainerDescriptor -->
  <!-- start interface org.apache.pig.backend.datastorage.DataStorage -->
  <interface name="DataStorage"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="init"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Place holder for possible initialization activities.]]>
      </doc>
    </method>
    <method name="close"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Clean-up and releasing of resources.]]>
      </doc>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Provides configuration information about the storage itself.
 For instance global data-replication policies if any, default
 values, ... Some of such values could be overridden at a finer 
 granularity (e.g. on a specific object in the Data Storage)
 
 @return - configuration information]]>
      </doc>
    </method>
    <method name="updateConfiguration"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfiguration" type="java.util.Properties"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
      <doc>
      <![CDATA[Provides a way to change configuration parameters
 at the Data Storage level. For instance, change the 
 data replication policy.
 
 @param newConfiguration - the new configuration settings
 @throws when configuration conflicts are detected]]>
      </doc>
    </method>
    <method name="getStatistics" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Provides statistics on the Storage: capacity values, how much 
 storage is in use...
 @return statistics on the Data Storage]]>
      </doc>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
      <doc>
      <![CDATA[Creates an entity handle for an object (no containment
 relation) from a String

 @param name of the object
 @return an object descriptor
 @throws DataStorageException if name does not conform to naming 
         convention enforced by the Data Storage.]]>
      </doc>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="element" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="java.lang.String"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="isContainer" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
      <doc>
      <![CDATA[Created an entity handle for a container.
 
 @param name of the container
 @return a container descriptor
 @throws DataStorageException if name does not conform to naming 
         convention enforced by the Data Storage.]]>
      </doc>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="container" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="java.lang.String"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asCollection" return="org.apache.pig.backend.datastorage.ElementDescriptor[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pattern" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="setActiveContainer"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="container" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
    </method>
    <method name="getActiveContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="USED_BYTES_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RAW_CAPACITY_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RAW_USED_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[DataStorage provides an abstraction of a generic container.
 Special instances of it can be a file system.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.datastorage.DataStorage -->
  <!-- start class org.apache.pig.backend.datastorage.DataStorageException -->
  <class name="DataStorageException" extends="org.apache.pig.backend.BackendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataStorageException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="DataStorageException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new DataStorageException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.datastorage.DataStorageException -->
  <!-- start interface org.apache.pig.backend.datastorage.ElementDescriptor -->
  <interface name="ElementDescriptor"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Comparable"/>
    <method name="getDataStorage" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Opens a stream onto which an entity can be written to.
 
 @param configuration information at the object level
 @return stream where to write
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="copy"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dstName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <param name="dstConfiguration" type="java.util.Properties"/>
      <param name="removeSrc" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Copy entity from an existing one, possibly residing in a 
 different Data Storage.
 
 @param dstName name of entity to create
 @param dstConfiguration configuration for the new entity
 @param removeSrc if src entity needs to be removed after copying it
 @throws DataStorageException for instance, configuration 
         information for new entity is not compatible with 
         configuration information at the Data
         Storage level, user does not have privileges to read from
         source entity or write to destination storage...]]>
      </doc>
    </method>
    <method name="copy"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dstName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <param name="removeSrc" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Open for read a given entity
 
 @param configuration
 @return entity to read from
 @throws DataStorageExecption e.g. entity does not exist...]]>
      </doc>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Open an element in the Data Storage with support for random access 
 (seek operations).
 
 @param configuration
 @return a seekable input stream
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="exists" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Checks whether the entity exists or not
 
 @return true if entity exists, false otherwise.]]>
      </doc>
    </method>
    <method name="rename"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Changes the name of an entity in the Data Storage
 
 @param newName new name of entity 
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="delete"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Remove entity from the Data Storage.
 
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Retrieve configuration information for entity
 @return configuration]]>
      </doc>
    </method>
    <method name="updateConfiguration"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfig" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Update configuration information for this entity

 @param newConfig configuration
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="systemElement" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Defines whether the element is visible to users or 
 contains system's metadata
 @return true if this is system file; false otherwise]]>
      </doc>
    </method>
    <method name="getStatistics" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[List entity statistics
 @return DataStorageProperties]]>
      </doc>
    </method>
    <field name="BLOCK_SIZE_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Available from getConfiguration as a String and getStatistics as a Long.]]>
      </doc>
    </field>
    <field name="BLOCK_REPLICATION_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Available from getConfiguration as a String and getStatistics as a Short.]]>
      </doc>
    </field>
    <field name="LENGTH_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Available from getStatistics as a Long.]]>
      </doc>
    </field>
    <field name="MODIFICATION_TIME_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Available from getStatistics as a Long.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[DataStorageElementDescriptor provides methods necessary to manage an
 element in a DataStorage.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.datastorage.ElementDescriptor -->
  <!-- start class org.apache.pig.backend.datastorage.ImmutableOutputStream -->
  <class name="ImmutableOutputStream" extends="java.io.OutputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ImmutableOutputStream" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.datastorage.ImmutableOutputStream -->
  <!-- start class org.apache.pig.backend.datastorage.SeekableInputStream -->
  <class name="SeekableInputStream" extends="java.io.InputStream"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SeekableInputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="seek"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="offset" type="long"/>
      <param name="whence" type="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Seeks to a given offset as specified by whence flags.
 If whence is SEEK_SET, offset is added to beginning of stream
 If whence is SEEK_CUR, offset is added to current position inside stream
 If whence is SEEK_END, offset is added to end of file position
 
 @param offset
 @param whence
 @throws IOException]]>
      </doc>
    </method>
    <method name="tell" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns current offset
 
 @return offset
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Unix-like API for an input stream that supports random access.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.datastorage.SeekableInputStream -->
  <!-- start class org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS -->
  <class name="SeekableInputStream.FLAGS" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="SEEK_SET" type="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SEEK_CUR" type="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SEEK_END" type="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS -->
</package>
<package name="org.apache.pig.backend.executionengine">
  <!-- start class org.apache.pig.backend.executionengine.ExecException -->
  <class name="ExecException" extends="org.apache.pig.backend.BackendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExecException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="ExecException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new ExecException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.executionengine.ExecException -->
  <!-- start interface org.apache.pig.backend.executionengine.ExecJob -->
  <interface name="ExecJob"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getStatus" return="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasCompleted" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[true is the physical plan has executed successfully and results are ready
 to be retrieved
 
 @return true if execution has completed, false otherwise.
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getResults" return="java.util.Iterator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[if query has executed successfully we want to retrieve the results
 via iterating over them. 
 
 @return iterator for resulting tuples
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Returns the alias of relation generated by this job]]>
      </doc>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get configuration information
 
 @return configuration information for the execution engine]]>
      </doc>
    </method>
    <method name="getStatistics" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Can be information about the state (not submitted, e.g. the execute method
 has not been called yet; not running, e.g. execute has been issued, 
 but job is waiting; running...; completed; aborted...; progress information
 
 @return statistics relevant to the execution engine]]>
      </doc>
    </method>
    <method name="getPOStore" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return {@link POStore} object associated with the store]]>
      </doc>
    </method>
    <method name="completionNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cookie" type="java.lang.Object"/>
      <doc>
      <![CDATA[hook for asynchronous notification of job completion pushed from the back-end]]>
      </doc>
    </method>
    <method name="kill"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Kills current job.
 
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getLogs"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="log" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Collecting various forms of outputs]]>
      </doc>
    </method>
    <method name="getSTDOut"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getSTDError"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="error" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getException" return="java.lang.Exception"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get exceptions that happened during execution]]>
      </doc>
    </method>
    <field name="PROGRESS_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Abstraction on a job that the execution engine runs. It allows the front-end to
 retrieve information on job status and manage a running job.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.executionengine.ExecJob -->
  <!-- start class org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS -->
  <class name="ExecJob.JOB_STATUS" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="FAILED" type="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COMPLETED" type="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS -->
  <!-- start interface org.apache.pig.backend.executionengine.ExecutionEngine -->
  <interface name="ExecutionEngine"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="init"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This method is responsible for the initialization of the ExecutionEngine.
 All necessary setup tasks and configuration should execute in the init()
 method. This method will be called via the PigContext object.]]>
      </doc>
    </method>
    <method name="setConfiguration"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfiguration" type="java.util.Properties"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Responsible for updating the properties for the ExecutionEngine. The
 update may require reinitialization of the engine, perhaps through
 another call to init() if appropriate. This decision is delegated to the
 ExecutionEngine -- that is, the caller will not call init() after
 updating the properties.

 The Properties passed in should replace any configuration that occurred
 from previous Properties object. The Properties object should also be
 updated to reflect the deprecation/modifications that the ExecutionEngine
 may trigger.

 @param newConfiguration -- Properties object holding all configuration vals]]>
      </doc>
    </method>
    <method name="setProperty"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="property" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <doc>
      <![CDATA[Responsible for setting a specific property and value. This method may be
 called as a result of a user "SET" command in the script or elsewhere in
 Pig to set certain properties.

 The properties object of the PigContext should be updated with the
 property and value with deprecation/other configuration done by the
 ExecutionEngine reflected. The ExecutionEngine should also update its
 internal configuration view as well.

 @param property to update
 @param value to set for property]]>
      </doc>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the Properties representation of the ExecutionEngine
 configuration. The Properties object returned does not have to be the
 same object between distinct calls to getConfiguration(). The ExecutionEngine
 may create a new Properties object populated with all the properties
 each time.]]>
      </doc>
    </method>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This method is responsible for the actual execution of a LogicalPlan. No
 assumptions is made about the architecture of the ExecutionEngine, except
 that it is capable of executing the LogicalPlan representation of a
 script. The ExecutionEngine should take care of all cleanup after
 executing the logical plan and returns an implementation of PigStats that
 contains the relevant information/statistics of the execution of the
 script.

 @param lp -- plan to compile
 @param grpName -- group name for submission
 @param pc -- context for execution
 @throws ExecException]]>
      </doc>
    </method>
    <method name="explain"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <param name="dir" type="java.io.File"/>
      <param name="suffix" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method handles the backend processing of the Explain command. Once
 again, no assumptions is made about the architecture of the
 ExecutionEngine, except that it is capable of "explaining" the
 LogicalPlan representation of a script. The ExecutionEngine should print
 all of it's explain statements in the PrintStream provided UNLESS the
 File object is NOT null. In that case, the file is the directory for
 which the ExecutionEngine must write out the explain statements into
 semantically distinct files. For example, if the ExecutionEngine operates
 on a PhysicalPlan and an ExecutionPlan then there would be two separate
 files detailing each. The suffix param indicates the suffix of each of
 these file names.

 @param lp -- plan to explain
 @param pc -- context for explain processing
 @param ps -- print stream to write all output to (if dir param is null)
 @param format -- format to print explain
 @param verbose
 @param dir -- directory to write output to. if not null, write to files
 @param suffix -- if writing to files, suffix to be used for each file


 @throws PlanException
 @throws VisitorException
 @throws IOException]]>
      </doc>
    </method>
    <method name="getDataStorage" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the DataStorage the ExecutionEngine is using.

 @return DataStorage the ExecutionEngine is using.]]>
      </doc>
    </method>
    <method name="instantiateScriptState" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates a ScriptState object which will be accessible as a ThreadLocal
 variable inside the ScriptState class. This method is called when first
 initializing the ScriptState as to delegate to the ExecutionEngine the
 version of ScriptState to use to manage the execution at hand.

 @return ScriptState object to manage execution of the script]]>
      </doc>
    </method>
    <method name="instantiatePigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates a PigStats object which will be accessible as a ThreadLocal
 variable inside the PigStats class. This method is called when first
 initializing the PigStats.

 @return PigStats object.]]>
      </doc>
    </method>
    <method name="getExecutableManager" return="org.apache.pig.impl.streaming.ExecutableManager"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the ExecutableManager to be used in Pig Streaming.

 @return ExecutableManager to be used in Pig Streaming.]]>
      </doc>
    </method>
    <method name="kill"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
      <doc>
      <![CDATA[This method is called when user requests to kill all jobs
 associated with the execution engine

 @throws BackendException]]>
      </doc>
    </method>
    <method name="killJob"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
      <doc>
      <![CDATA[This method is called when a user requests to kill a job associated with
 the given job id. If it is not possible for a user to kill a job, throw a
 exception. It is imperative for the job id's being displayed to be unique
 such that the correct jobs are being killed when the user supplies the
 id.

 @throws BackendException]]>
      </doc>
    </method>
    <method name="destroy"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Perform any cleanup operation]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The main interface bridging the front end and back end of Pig. This allows Pig
 to be ran on multiple Execution Engines, and not being limited to only Hadoop
 MapReduce. The ExecutionEngines must support the following methods as these
 are all the access points for the Pig frontend for processing. Traditionally
 there is one ExecutionEngine created per processing job, but this is not necessary.
 The ExecutionEngine instance comes from the ExecType, and it can choose to reuse
 ExecutionEngine instances. All specifications for methods are listed below
 as well as expected behavior, and the ExecutionEngine must conform to these.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.executionengine.ExecutionEngine -->
</package>
<package name="org.apache.pig.backend.hadoop">
  <!-- start class org.apache.pig.backend.hadoop.BigDecimalWritable -->
  <class name="BigDecimalWritable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <constructor name="BigDecimalWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWritable" type="java.math.BigDecimal"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="java.math.BigDecimal"/>
    </method>
    <method name="get" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.backend.hadoop.BigDecimalWritable"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.BigDecimalWritable -->
  <!-- start class org.apache.pig.backend.hadoop.BigDecimalWritable.Comparator -->
  <class name="BigDecimalWritable.Comparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <doc>
    <![CDATA[A Comparator optimized for BigDecimalWritable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.BigDecimalWritable.Comparator -->
  <!-- start class org.apache.pig.backend.hadoop.BigIntegerWritable -->
  <class name="BigIntegerWritable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <constructor name="BigIntegerWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWritable" type="java.math.BigInteger"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="java.math.BigInteger"/>
    </method>
    <method name="get" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.backend.hadoop.BigIntegerWritable"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.BigIntegerWritable -->
  <!-- start class org.apache.pig.backend.hadoop.BigIntegerWritable.Comparator -->
  <class name="BigIntegerWritable.Comparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <doc>
    <![CDATA[A Comparator optimized for BigIntegerWritable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.BigIntegerWritable.Comparator -->
  <!-- start class org.apache.pig.backend.hadoop.DateTimeWritable -->
  <class name="DateTimeWritable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <constructor name="DateTimeWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DateTimeWritable" type="org.joda.time.DateTime"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
    </method>
    <method name="get" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setupAvailableZoneIds"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Returns true iff <code>o</code> is a DateTimeWritable with the same
 value.]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Writable for DateTime values.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.DateTimeWritable -->
  <!-- start class org.apache.pig.backend.hadoop.DateTimeWritable.Comparator -->
  <class name="DateTimeWritable.Comparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <doc>
    <![CDATA[A Comparator optimized for DateTimeWritable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.DateTimeWritable.Comparator -->
  <!-- start class org.apache.pig.backend.hadoop.DoubleWritable -->
  <class name="DoubleWritable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <constructor name="DoubleWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DoubleWritable" type="double"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="double"/>
    </method>
    <method name="get" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Returns true iff <code>o</code> is a DoubleWritable with the same value.]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Writable for Double values.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.DoubleWritable -->
  <!-- start class org.apache.pig.backend.hadoop.DoubleWritable.Comparator -->
  <class name="DoubleWritable.Comparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <doc>
    <![CDATA[A Comparator optimized for DoubleWritable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.DoubleWritable.Comparator -->
  <!-- start class org.apache.pig.backend.hadoop.HDataType -->
  <class name="HDataType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HDataType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getWritableComparable" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="className" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNewWritableComparable" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getWritableComparableTypes" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="keyType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getWritableComparableTypes" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="findTypeFromClassName" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="className" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="findTypeFromNullableWritable" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[A class of helper methods for converting from pig data types to hadoop
 data types, and vice versa.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.HDataType -->
  <!-- start class org.apache.pig.backend.hadoop.HKerberos -->
  <class name="HKerberos" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HKerberos"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="tryKerberosKeytabLogin"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <doc>
    <![CDATA[Support for logging in using a kerberos keytab file.

 <br/>
 Kerberos is a authentication system that uses tickets with a limited valitity time.<br/>
 As a consequence running a pig script on a kerberos secured hadoop cluster limits the running time to at most
 the remaining validity time of these kerberos tickets. When doing really complex analytics this may become a
 problem as the job may need to run for a longer time than these ticket times allow.<br/>
 A kerberos keytab file is essentially a Kerberos specific form of the password of a user. <br/>
 It is possible to enable a Hadoop job to request new tickets when they expire by creating a keytab file and
 make it part of the job that is running in the cluster.
 This will extend the maximum job duration beyond the maximum renew time of the kerberos tickets.<br/>
 <br/>
 Usage:
 <ol>
      <li>Create a keytab file for the required principal.<br/>
      <p>Using the ktutil tool you can create a keytab using roughly these commands:<br/>
      <i>addent -password -p niels@EXAMPLE.NL -k 1 -e rc4-hmac<br/>
      addent -password -p niels@EXAMPLE.NL -k 1 -e aes256-cts<br/>
      wkt niels.keytab</i></p>
      </li>
      <li>Set the following properties (either via the .pigrc file or on the command line via -P file)<br/>
          <ul>
          <li><i>java.security.krb5.conf</i><br/>
              The path to the local krb5.conf file.<br/>
              Usually this is "/etc/krb5.conf"</li>
          <li><i>hadoop.security.krb5.principal</i><br/>
              The pricipal you want to login with.<br/>
              Usually this would look like this "niels@EXAMPLE.NL"</li>
          <li><i>hadoop.security.krb5.keytab</i><br/>
              The path to the local keytab file that must be used to authenticate with.<br/>
              Usually this would look like this "/home/niels/.krb/niels.keytab"</li>
          </ul></li>
 </ol>
 NOTE: All paths in these variables are local to the client system starting the actual pig script.
 This can be run without any special access to the cluster nodes.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.HKerberos -->
  <!-- start class org.apache.pig.backend.hadoop.PigATSClient -->
  <class name="PigATSClient" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getInstance" return="org.apache.pig.backend.hadoop.PigATSClient"
      abstract="false" native="false" synchronized="true"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigAuditId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="logEvent"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="event" type="org.apache.pig.backend.hadoop.PigATSClient.ATSEvent"/>
    </method>
    <field name="ENTITY_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ENTITY_CALLERID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CALLER_CONTEXT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="AUDIT_ID_MAX_LENGTH" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.PigATSClient -->
  <!-- start class org.apache.pig.backend.hadoop.PigATSClient.ATSEvent -->
  <class name="PigATSClient.ATSEvent" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ATSEvent" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.PigATSClient.ATSEvent -->
  <!-- start class org.apache.pig.backend.hadoop.PigJobControl -->
  <class name="PigJobControl" extends="org.apache.hadoop.mapred.jobcontrol.JobControl"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigJobControl" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a job control for a group of jobs.
 @param groupName a name identifying this group
 @param pigContext
 @param conf]]>
      </doc>
    </constructor>
    <method name="getTimeToSleep" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTimeToSleep"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="timeToSleep" type="int"/>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The main loop for the thread.
  The loop does the following:
    Check the states of the running jobs
    Update the states of waiting jobs
    Submit the jobs in ready state]]>
      </doc>
    </method>
    <field name="timeToSleep" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[extends the hadoop JobControl to remove the hardcoded sleep(5000)
 as most of this is private we have to use reflection

 See {@link https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23.1/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/jobcontrol/JobControl.java }]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.PigJobControl -->
</package>
<package name="org.apache.pig.backend.hadoop.accumulo">
  <!-- start class org.apache.pig.backend.hadoop.accumulo.AbstractAccumuloStorage -->
  <class name="AbstractAccumuloStorage" extends="org.apache.pig.LoadFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <constructor name="AbstractAccumuloStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="extractArgs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cli" type="org.apache.commons.cli.CommandLine"/>
      <param name="opts" type="org.apache.pig.backend.hadoop.accumulo.AccumuloStorageOptions"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Extract arguments passed into the constructor to avoid the URI
 
 @param cli
 @param opts]]>
      </doc>
    </method>
    <method name="getCommandLine" return="org.apache.commons.cli.CommandLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getInputFormatEntries" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getOutputFormatEntries" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="unsetEntriesFromConfiguration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="entriesToUnset" type="java.util.Map"/>
      <doc>
      <![CDATA[Removes the given values from the configuration, accounting for changes
 in the Configuration API given the version of Hadoop being used.
 
 @param conf
 @param entriesToUnset]]>
      </doc>
    </method>
    <method name="simpleUnset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="entriesToUnset" type="java.util.Map"/>
      <doc>
      <![CDATA[Unsets elements in the Configuration using the unset method
 
 @param conf
 @param entriesToUnset]]>
      </doc>
    </method>
    <method name="clearUnset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="entriesToUnset" type="java.util.Map"/>
      <doc>
      <![CDATA[Replaces the given entries in the configuration by clearing the
 Configuration and re-adding the elements that aren't in the Map of
 entries to unset
 
 @param conf
 @param entriesToUnset]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.accumulo.core.data.Key"/>
      <param name="value" type="org.apache.accumulo.core.data.Value"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="getWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getEntries" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="prefix" type="java.lang.String"/>
      <doc>
      <![CDATA[Extract elements from the Configuration whose keys match the given prefix
 
 @param conf
 @param prefix
 @return]]>
      </doc>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="makePair" return="org.apache.accumulo.core.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="first" type="java.lang.String"/>
      <param name="second" type="java.lang.String"/>
    </method>
    <method name="loadDependentJars"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Ensure that Accumulo's dependent jars are added to the Configuration to
 alleviate the need for clients to REGISTER dependency jars.
 
 @param job
            The Mapreduce Job object
 @throws IOException]]>
      </doc>
    </method>
    <method name="configureInputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <doc>
      <![CDATA[Method to allow specific implementations to add more elements to the Job
 for reading data from Accumulo.
 
 @param job]]>
      </doc>
    </method>
    <method name="configureOutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <doc>
      <![CDATA[Method to allow specific implementations to add more elements to the Job
 for writing data to Accumulo.
 
 @param job]]>
      </doc>
    </method>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getUDFProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns UDFProperties based on <code>contextSignature</code>.]]>
      </doc>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
    </method>
    <method name="getMutations" return="java.util.Collection"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="failure" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="tupleToText" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <param name="i" type="int"/>
      <param name="fieldSchemas" type="org.apache.pig.ResourceSchema.ResourceFieldSchema[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="objectToText" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="schemaToType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
    </method>
    <method name="schemaToType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="i" type="int"/>
      <param name="fieldSchemas" type="org.apache.pig.ResourceSchema.ResourceFieldSchema[]"/>
    </method>
    <method name="tupleToBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <param name="i" type="int"/>
      <param name="fieldSchemas" type="org.apache.pig.ResourceSchema.ResourceFieldSchema[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="objToText" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="objToBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="COLON" type="char"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="COMMA" type="char"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="ASTERISK" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="storageOptions" type="org.apache.pig.backend.hadoop.accumulo.AccumuloStorageOptions"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="commandLine" type="org.apache.commons.cli.CommandLine"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inst" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="zookeepers" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="user" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="password" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="table" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="tableName" type="org.apache.hadoop.io.Text"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="authorizations" type="org.apache.accumulo.core.security.Authorizations"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="columns" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="start" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="end" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="maxWriteThreads" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="maxMutationBufferSize" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="maxLatency" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="columnSeparator" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="ignoreWhitespace" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="caster" type="org.apache.pig.LoadStoreCaster"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.pig.ResourceSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="contextSignature" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A LoadStoreFunc for retrieving data from and storing data to Accumulo
 
 A Key/Val pair will be returned as tuples: (key, colfam, colqual, colvis,
 timestamp, value). All fields except timestamp are DataByteArray, timestamp
 is a long.
 
 Tuples can be written in 2 forms: (key, colfam, colqual, colvis, value) OR
 (key, colfam, colqual, value)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.AbstractAccumuloStorage -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.AccumuloBinaryConverter -->
  <class name="AccumuloBinaryConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadStoreCaster"/>
    <constructor name="AccumuloBinaryConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="bytesToBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="bytesToDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bd" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Not implemented!]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bi" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A LoadStoreCaster implementation which stores most type implementations as
 bytes generated from the toString representation with a UTF8 Charset. Pulled
 some implementations from the Accumulo Lexicoder implementations in 1.6.0.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.AccumuloBinaryConverter -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.AccumuloStorage -->
  <class name="AccumuloStorage" extends="org.apache.pig.backend.hadoop.accumulo.AbstractAccumuloStorage"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumuloStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Creates an AccumuloStorage which writes all values in a {@link Tuple}
 with an empty column family and doesn't group column families together on
 read (creates on {@link Map} for all columns)]]>
      </doc>
    </constructor>
    <constructor name="AccumuloStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Create an AccumuloStorage with a CSV of columns-families to use on write
 and whether columns in a row should be grouped by family on read.
 
 @param columns
            A comma-separated list of column families to use when writing
            data, aligned to the n'th entry in the tuple
 @param aggregateColfams
            Should unique column qualifier and value pairs be grouped
            together by column family when reading data]]>
      </doc>
    </constructor>
    <constructor name="AccumuloStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.accumulo.core.data.Key"/>
      <param name="value" type="org.apache.accumulo.core.data.Value"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="configureInputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
    </method>
    <method name="getMutations" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addColumn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="mutation" type="org.apache.accumulo.core.data.Mutation"/>
      <param name="colfam" type="java.lang.String"/>
      <param name="colqual" type="java.lang.String"/>
      <param name="columnValue" type="org.apache.accumulo.core.data.Value"/>
      <doc>
      <![CDATA[Adds the given column family, column qualifier and value to the given
 mutation
 
 @param mutation
 @param colfam
 @param colqual
 @param columnValue]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Basic PigStorage implementation that uses Accumulo as the backing store.
 
 <p>
 When writing data, the first entry in the {@link Tuple} is treated as the row
 in the Accumulo key, while subsequent entries in the tuple are handled as
 columns in that row. {@link Map}s are expanded, placing the map key in the
 column family and the map value in the Accumulo value. Scalars are placed
 directly into the value with an empty column qualifier. If the columns
 argument on the constructor is omitted, null or the empty String, no column
 family is provided on the Keys created for Accumulo
 </p>
 
 <p>
 When reading data, if aggregateColfams is true, elements in the same row and
 column family are aggregated into a single {@link Map}. This will result in a
 {@link Tuple} of length (unique_column_families + 1) for the given row. If
 aggregateColfams is false, column family and column qualifier are
 concatenated (separated by a colon), and placed into a {@link Map}. This will
 result in a {@link Tuple} with two entries, where the latter element has a
 number of elements equal to the number of columns in the given row.
 </p>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.AccumuloStorage -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.AccumuloStorageOptions -->
  <class name="AccumuloStorageOptions" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumuloStorageOptions"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getHelpMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCommandLine" return="org.apache.commons.cli.CommandLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String"/>
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
    </method>
    <method name="hasAuthorizations" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cli" type="org.apache.commons.cli.CommandLine"/>
    </method>
    <method name="getAuthorizations" return="org.apache.accumulo.core.security.Authorizations"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cli" type="org.apache.commons.cli.CommandLine"/>
    </method>
    <method name="getLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cli" type="org.apache.commons.cli.CommandLine"/>
      <param name="o" type="org.apache.commons.cli.Option"/>
    </method>
    <method name="getInt" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cli" type="org.apache.commons.cli.CommandLine"/>
      <param name="o" type="org.apache.commons.cli.Option"/>
    </method>
    <field name="CASTER_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="AUTHORIZATIONS_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="START_ROW_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="END_ROW_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MUTATION_BUFFER_SIZE_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="WRITE_THREADS_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAX_LATENCY_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLUMN_SEPARATOR_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLUMN_IGNORE_WHITESPACE_OPTION" type="org.apache.commons.cli.Option"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.AccumuloStorageOptions -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.Column -->
  <class name="Column" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Column" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getType" return="org.apache.pig.backend.hadoop.accumulo.Column.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnFamily" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnQualifier" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="matchAll" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Extracts necessary information from a user provide column "specification":
 colf[[*]:[colq[*]]]
 
 Removes any trailing asterisk on colfam or colqual, and appropriately sets
 the {#link Column.Type}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.Column -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.Column.Type -->
  <class name="Column.Type" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.hadoop.accumulo.Column.Type[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.hadoop.accumulo.Column.Type"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="LITERAL" type="org.apache.pig.backend.hadoop.accumulo.Column.Type"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLFAM_PREFIX" type="org.apache.pig.backend.hadoop.accumulo.Column.Type"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLQUAL_PREFIX" type="org.apache.pig.backend.hadoop.accumulo.Column.Type"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.Column.Type -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.FixedByteArrayOutputStream -->
  <class name="FixedByteArrayOutputStream" extends="java.io.OutputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FixedByteArrayOutputStream" type="byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="off" type="int"/>
      <param name="len" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Uses a fixed length array and will not grow in size dynamically like the
 {@link java.io.ByteArrayOutputStream}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.FixedByteArrayOutputStream -->
  <!-- start class org.apache.pig.backend.hadoop.accumulo.Utils -->
  <class name="Utils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Utils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="addDependencyJars"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="classes" type="java.lang.Class[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="jarFinderGetJar" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="klass" type="java.lang.Class"/>
      <doc>
      <![CDATA[Returns the full path to the Jar containing the class. It always return a
 JAR.
 
 @param klass
            class.
 
 @return path to the Jar containing the class.]]>
      </doc>
    </method>
    <method name="jarDir"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dir" type="java.io.File"/>
      <param name="relativePath" type="java.lang.String"/>
      <param name="zos" type="java.util.zip.ZipOutputStream"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.accumulo.Utils -->
</package>
<package name="org.apache.pig.backend.hadoop.datastorage">
  <!-- start class org.apache.pig.backend.hadoop.datastorage.ConfigurationUtil -->
  <class name="ConfigurationUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConfigurationUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toConfiguration" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="toConfiguration" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <param name="loadDefaults" type="boolean"/>
    </method>
    <method name="toProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="mergeConf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="origConf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="replaceConf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[@param origConf
 @param replaceConf]]>
      </doc>
    </method>
    <method name="getLocalFSProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceConfigForLocalMode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="expandForAlternativeNames" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns Properties containing alternative names of given property and same values - can be used to solve deprecations
 @return]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.ConfigurationUtil -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HConfiguration -->
  <class name="HConfiguration" extends="java.util.Properties"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HConfiguration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HConfiguration" type="org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getConfiguration" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HConfiguration -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HDataStorage -->
  <class name="HDataStorage" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.datastorage.DataStorage"/>
    <constructor name="HDataStorage" type="java.net.URI, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDataStorage" type="java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="updateConfiguration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfiguration" type="java.util.Properties"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="getStatistics" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="element" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="java.lang.String"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asElement" return="org.apache.pig.backend.datastorage.ElementDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="container" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="java.lang.String"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parent" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="child" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="setActiveContainer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="container" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
    </method>
    <method name="getActiveContainer" return="org.apache.pig.backend.datastorage.ContainerDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isContainer" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="asCollection" return="org.apache.pig.backend.hadoop.datastorage.HPath[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pattern" type="java.lang.String"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
    </method>
    <method name="getHFS" return="org.apache.hadoop.fs.FileSystem"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HDataStorage -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HDirectory -->
  <class name="HDirectory" extends="org.apache.pig.backend.hadoop.datastorage.HPath"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HDirectory" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="create" return="java.io.OutputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="copy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dstName" type="org.apache.pig.backend.datastorage.ContainerDescriptor"/>
      <param name="dstConfiguration" type="java.util.Properties"/>
      <param name="removeSrc" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HDirectory -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HFile -->
  <class name="HFile" extends="org.apache.pig.backend.hadoop.datastorage.HPath"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HFile" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="create" return="java.io.OutputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HFile -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HPath -->
  <class name="HPath" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.datastorage.ElementDescriptor"/>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HPath" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage, org.apache.hadoop.fs.Path"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getDataStorage" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="copy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dstName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <param name="dstConfiguration" type="java.util.Properties"/>
      <param name="removeSrc" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="sopen" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="exists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="rename"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="delete"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPermission"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="permission" type="org.apache.hadoop.fs.permission.FsPermission"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="updateConfiguration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfig" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="copy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dstName" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
      <param name="removeSrc" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPath" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHFS" return="org.apache.hadoop.fs.FileSystem"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="systemElement" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.backend.datastorage.ElementDescriptor"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="path" type="org.apache.hadoop.fs.Path"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="fs" type="org.apache.pig.backend.hadoop.datastorage.HDataStorage"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HPath -->
  <!-- start class org.apache.pig.backend.hadoop.datastorage.HSeekableInputStream -->
  <class name="HSeekableInputStream" extends="org.apache.pig.backend.datastorage.SeekableInputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="seek"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="offset" type="long"/>
      <param name="whence" type="org.apache.pig.backend.datastorage.SeekableInputStream.FLAGS"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="tell" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="off" type="int"/>
      <param name="len" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="available" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="skip" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="mark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="readlimit" type="int"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="markSupported" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="input" type="org.apache.hadoop.fs.FSDataInputStream"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="contentLength" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.datastorage.HSeekableInputStream -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.HExecutionEngine -->
  <class name="HExecutionEngine" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.executionengine.ExecutionEngine"/>
    <constructor name="HExecutionEngine" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDataStorage" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getS3Conf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getLocalConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExecConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="properties" type="java.util.Properties"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getLogToPhyMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getForEachInnerLogToPhyMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <param name="file" type="java.io.File"/>
      <param name="suffix" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConfiguration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newConfiguration" type="java.util.Properties"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setProperty"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="property" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
    </method>
    <method name="getExecutableManager" return="org.apache.pig.impl.streaming.ExecutableManager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="killJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="destroy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="HADOOP_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CORE_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="YARN_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CORE_DEFAULT_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAPRED_DEFAULT_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="YARN_DEFAULT_SITE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LOCAL" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="pigContext" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="ds" type="org.apache.pig.backend.datastorage.DataStorage"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="launcher" type="org.apache.pig.backend.hadoop.executionengine.Launcher"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="logicalToPhysicalKeys" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="newLogToPhyMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.HExecutionEngine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.HJob -->
  <class name="HJob" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.executionengine.ExecJob"/>
    <constructor name="HJob" type="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS, org.apache.pig.impl.PigContext, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HJob" type="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS, org.apache.pig.impl.PigContext, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore, java.lang.String, org.apache.pig.tools.pigstats.PigStats"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getStatus" return="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasCompleted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getResults" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getConfiguration" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStatistics" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="completionNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cookie" type="java.lang.Object"/>
    </method>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getLogs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="log" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getSTDOut"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getSTDError"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="error" type="java.io.OutputStream"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="getException" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getPOStore" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the poStore]]>
      </doc>
    </method>
    <field name="status" type="org.apache.pig.backend.executionengine.ExecJob.JOB_STATUS"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigContext" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outFileSpec" type="org.apache.pig.impl.io.FileSpec"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="backendException" type="java.lang.Exception"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="alias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.HJob -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.JobCreationException -->
  <class name="JobCreationException" extends="org.apache.pig.impl.logicalLayer.FrontendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobCreationException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="JobCreationException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new JobCreationException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.JobCreationException -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.Launcher -->
  <class name="Launcher" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Launcher"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Resets the state after a launch]]>
      </doc>
    </method>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="Exception" type="java.lang.Exception"/>
      <doc>
      <![CDATA[Method to launch pig for hadoop either for a cluster's job tracker or for
 a local job runner. THe only difference between the two is the job
 client. Depending on the pig context the job client will be initialize to
 one of the two. Launchers for other frameworks can overide these methods.
 Given an input PhysicalPlan, it compiles it to get a MapReduce Plan. The
 MapReduce plan which has multiple MapReduce operators each one of which
 has to be run as a map reduce job with dependency information stored in
 the plan. It compiles the MROperPlan into a JobControl object. Each Map
 Reduce operator is converted into a Job and added to the JobControl
 object. Each Job also has a set of dependent Jobs that are created using
 the MROperPlan. The JobControl object is obtained from the
 JobControlCompiler Then a new thread is spawned that submits these jobs
 while respecting the dependency information. The parent thread monitors
 the submitted jobs' progress and after it is complete, stops the
 JobControl thread.

 @param php
 @param grpName
 @param pc
 @throws Exception]]>
      </doc>
    </method>
    <method name="explain"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Explain how a pig job will be executed on the underlying infrastructure.

 @param pp
            PhysicalPlan to explain
 @param pc
            PigContext to use for configuration
 @param ps
            PrintStream to write output on.
 @param format
            Format to write in
 @param verbose
            Amount of information to print
 @throws VisitorException
 @throws IOException]]>
      </doc>
    </method>
    <method name="kill"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="killJob"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="isComplete" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="prog" type="double"/>
    </method>
    <method name="computeTimeSpent" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="taskReports" type="java.util.Iterator"/>
    </method>
    <method name="getErrorMessages"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="reports" type="java.util.Iterator"/>
      <param name="type" type="java.lang.String"/>
      <param name="errNotDbg" type="boolean"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="calculateProgress" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jc" type="org.apache.hadoop.mapred.jobcontrol.JobControl"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Compute the progress of the current job submitted through the JobControl
 object jc to the JobClient jobClient

 @param jc
            - The JobControl object that has been submitted
 @param jobClient
            - The JobClient to which it has been submitted
 @return The progress as a precentage in double format
 @throws IOException]]>
      </doc>
    </method>
    <method name="getTotalHadoopTimeSpent" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setJobException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="throwable" type="java.lang.Throwable"/>
    </method>
    <method name="getExceptionFromString" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stackTrace" type="java.lang.String"/>
      <exception name="Exception" type="java.lang.Exception"/>
      <doc>
      <![CDATA[@param stackTrace
            The string representation of
            {@link Throwable#printStackTrace() printStackTrace} Handles
            internal PigException and its subclasses that override the
            {@link Throwable#toString() toString} method
 @return An exception object whose string representation of
         printStackTrace is the input stackTrace
 @throws Exception]]>
      </doc>
    </method>
    <method name="getStackTraceElement" return="java.lang.StackTraceElement"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="line" type="java.lang.String"/>
      <exception name="Exception" type="java.lang.Exception"/>
      <doc>
      <![CDATA[@param line
            the string representation of a stack trace returned by
            {@link Throwable#printStackTrace() printStackTrace}
 @return the StackTraceElement object representing the stack trace
 @throws Exception]]>
      </doc>
    </method>
    <method name="destroy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="jobControlExceptionStackTrace" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="jobControlException" type="java.lang.Exception"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="totalHadoopTimeSpent" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="failureMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="jc" type="org.apache.hadoop.mapred.jobcontrol.JobControl"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Provides core processing implementation for the backend of Pig
 if ExecutionEngine chosen decides to delegate it's work to this class.
 Also contains set of utility methods, including ones centered around
 Hadoop.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.Launcher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.Launcher.HangingJobKiller -->
  <class name="Launcher.HangingJobKiller" extends="java.lang.Thread"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="HangingJobKiller"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.Launcher.HangingJobKiller -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.Launcher.JobControlThreadExceptionHandler -->
  <class name="Launcher.JobControlThreadExceptionHandler" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Thread.UncaughtExceptionHandler"/>
    <constructor name="JobControlThreadExceptionHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="uncaughtException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="thread" type="java.lang.Thread"/>
      <param name="throwable" type="java.lang.Throwable"/>
    </method>
    <doc>
    <![CDATA[An exception handler class to handle exceptions thrown by the job controller thread
 Its a local class. This is the only mechanism to catch unhandled thread exceptions
 Unhandled exceptions in threads are handled by the VM if the handler is not registered
 explicitly or if the default handler is null]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.Launcher.JobControlThreadExceptionHandler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.MapRedResult -->
  <class name="MapRedResult" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapRedResult" type="org.apache.pig.impl.io.FileSpec, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="outFileSpec" type="org.apache.pig.impl.io.FileSpec"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="parallelismRequest" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.MapRedResult -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.TaskContext -->
  <class name="TaskContext" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TaskContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="delta" type="long"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="delta" type="long"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="status" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.TaskContext -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.fetch">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchContext -->
  <class name="FetchContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCounter" return="org.apache.hadoop.mapred.Counters.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapred.Counters.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
    </method>
    <doc>
    <![CDATA[A dummy counter handling context for fetch tasks]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchContext -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchLauncher -->
  <class name="FetchLauncher" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchLauncher" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Runs the fetch task by executing chain of calls on the PhysicalPlan from the leaf
 up to the LoadFunc

 @param pp - Physical plan
 @return SimpleFetchPigStats instance representing the fetched result
 @throws IOException]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Creates an empty MR plan

 @param pp - Physical plan
 @param pc - PigContext
 @param ps - PrintStream to write the plan to
 @param format format of the output plan
 @throws PlanException
 @throws VisitorException
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class is responsible for executing the fetch task, saving the result to disk
 and do the necessary cleanup afterwards.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchLauncher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchOptimizer -->
  <class name="FetchOptimizer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchOptimizer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isFetchEnabled" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[Checks whether the fetch is enabled

 @param pc
 @return true if fetching is enabled]]>
      </doc>
    </method>
    <method name="isPlanFetchable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="pp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Visits the plan with {@link FetchablePlanVisitor} and checks whether the
 plan is fetchable.

 @param pc PigContext
 @param pp the physical plan to be examined
 @return true if the plan is fetchable
 @throws VisitorException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[FetchOptimizer determines whether the entire physical plan is fetchable, meaning
 that the task's result can be directly read (fetched) from the underlying storage
 rather than creating MR jobs. During the check {@link FetchablePlanVisitor} is used
 to walk through the plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchPOStoreImpl -->
  <class name="FetchPOStoreImpl" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStoreImpl"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchPOStoreImpl" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createStoreFunc" return="org.apache.pig.StoreFuncInterface"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="tearDown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class is used to have a POStore write the output to the underlying storage
 via a output collector/record writer in case of a fetch task. It sets up dummy context
 objects which otherwise would be initialized by the Hadoop job itself.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchPOStoreImpl -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchProgressableReporter -->
  <class name="FetchProgressableReporter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
    <constructor name="FetchProgressableReporter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[A dummy ProgressableReporter used for fetch tasks]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchProgressableReporter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.fetch.FetchTaskContext -->
  <class name="FetchTaskContext" extends="org.apache.pig.backend.hadoop.executionengine.TaskContext"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchTaskContext" type="org.apache.pig.backend.hadoop.executionengine.fetch.FetchContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.backend.hadoop.executionengine.fetch.FetchContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="delta" type="long"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="delta" type="long"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.fetch.FetchTaskContext -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.AccumulatorOptimizer -->
  <class name="AccumulatorOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumulatorOptimizer" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to optimize plans that determines if a reduce plan can run in
 accumulative mode.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.AccumulatorOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnChainInfo -->
  <class name="ColumnChainInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Cloneable"/>
    <constructor name="ColumnChainInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o2" type="java.lang.Object"/>
    </method>
    <method name="insert"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="columns" type="java.util.List"/>
      <param name="type" type="byte"/>
    </method>
    <method name="insert"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="startCol" type="int"/>
      <param name="type" type="byte"/>
      <doc>
      <![CDATA[Insert new ColumnInfo for a project-star or project-range-to-end
 @param startCol
 @param type]]>
      </doc>
    </method>
    <method name="insertInReduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
    </method>
    <method name="insertColumnChainInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="columnChainInfo" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnChainInfo"/>
    </method>
    <method name="getColumnInfos" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnInfo" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnChainInfo -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnInfo -->
  <class name="ColumnInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Cloneable"/>
    <constructor name="ColumnInfo" type="java.util.List, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ColumnInfo" type="int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor for range projection or project-star
 @param startCol
 @param type]]>
      </doc>
    </constructor>
    <method name="getResultType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStartCol" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRangeProject" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumns" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o2" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnInfo -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.CombinerOptimizer -->
  <class name="CombinerOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CombinerOptimizer" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="CombinerOptimizer" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, boolean, org.apache.pig.impl.plan.CompilationMessageCollector"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getMessageCollector" return="org.apache.pig.impl.plan.CompilationMessageCollector"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[Optimize map reduce plans to use the combiner where possible.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.CombinerOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.DistinctCombiner -->
  <class name="DistinctCombiner" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DistinctCombiner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[A special implementation of combiner used only for distinct.  This combiner
 does not even parse out the records.  It just throws away duplicate values
 in the key in order to minimize the data being sent to the reduce.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.DistinctCombiner -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.DistinctCombiner.Combine -->
  <class name="DistinctCombiner.Combine" extends="org.apache.hadoop.mapreduce.Reducer"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Combine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="reduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="tupIter" type="java.lang.Iterable"/>
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[The reduce function which removes values.]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.DistinctCombiner.Combine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.FileBasedOutputSizeReader -->
  <class name="FileBasedOutputSizeReader" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigStatsOutputSizeReader"/>
    <constructor name="FileBasedOutputSizeReader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="supports" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sto" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Returns whether the given POStore is supported by this output size reader
 or not. We check whether the uri scheme of output file is one of hdfs,
 local, and s3.
 @param sto POStore]]>
      </doc>
    </method>
    <method name="getOutputSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sto" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the total size of output files in bytes
 @param sto POStore
 @param conf configuration]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Class that computes the size of output for file-based systems.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.FileBasedOutputSizeReader -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.IllustrateDummyReporter -->
  <class name="IllustrateDummyReporter" extends="org.apache.hadoop.mapreduce.StatusReporter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IllustrateDummyReporter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.lang.Enum"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.lang.String"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Dummy implementation of StatusReporter for illustrate mode]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.IllustrateDummyReporter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.InputSizeReducerEstimator -->
  <class name="InputSizeReducerEstimator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigReducerEstimator"/>
    <constructor name="InputSizeReducerEstimator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="estimateNumberOfReducers" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <param name="mapReduceOper" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Determines the number of reducers to be used.

 @param job job instance
 @param mapReduceOper
 @throws java.io.IOException]]>
      </doc>
    </method>
    <method name="getTotalInputFileSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="lds" type="java.util.List"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Class that estimates the number of reducers based on input size.
 Number of reducers is based on two properties:
 <ul>
     <li>pig.exec.reducers.bytes.per.reducer -
     how many bytes of input per reducer (default is 1000*1000*1000)</li>
     <li>pig.exec.reducers.max -
     constrain the maximum number of reducer task (default is 999)</li>
 </ul>
 If using a loader that implements LoadMetadata the reported input size is used, otherwise
 attempt to determine size from the filesystem.
 <p>
 e.g. the following is your pig script
 <pre>
 a = load '/data/a';
 b = load '/data/b';
 c = join a by $0, b by $0;
 store c into '/tmp';
 </pre>
 and the size of /data/a is 1000*1000*1000, and the size of /data/b is
 2*1000*1000*1000 then the estimated number of reducer to use will be
 (1000*1000*1000+2*1000*1000*1000)/(1000*1000*1000)=3]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.InputSizeReducerEstimator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler -->
  <class name="JobControlCompiler" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobControlCompiler" type="org.apache.pig.impl.PigContext, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="JobControlCompiler" type="org.apache.pig.impl.PigContext, org.apache.hadoop.conf.Configuration, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getStores" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <doc>
      <![CDATA[Returns all store locations of a previously compiled job]]>
      </doc>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Resets the state]]>
      </doc>
    </method>
    <method name="getJobMroMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Gets the map of Job and the MR Operator]]>
      </doc>
    </method>
    <method name="moveResults"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="completedJobs" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Moves all the results of a collection of MR jobs to the final
 output directory. Some of the results may have been put into a
 temp location to work around restrictions with multiple output
 from a single map reduce job.

 This method should always be called after the job execution
 completes.]]>
      </doc>
    </method>
    <method name="compile" return="org.apache.hadoop.mapred.jobcontrol.JobControl"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
      <doc>
      <![CDATA[Compiles all jobs that have no dependencies removes them from
 the plan and returns. Should be called with the same plan until
 exhausted.
 @param plan - The MROperPlan to be compiled
 @param grpName - The name given to the JobControl
 @return JobControl object - null if no more jobs in plan
 @throws JobCreationException]]>
      </doc>
    </method>
    <method name="updateMROpPlan" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="completeFailedJobs" type="java.util.List"/>
    </method>
    <method name="configureCompression"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="adjustNumReducers"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"/>
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <param name="nwJob" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Adjust the number of reducers based on the default_parallel, requested parallel and estimated
 parallel. For sampler jobs, we also adjust the next job in advance to get its runtime parallel as
 the number of partitions used in the sampler.
 @param plan the MR plan
 @param mro the MR operator
 @param nwJob the current job
 @throws IOException]]>
      </doc>
    </method>
    <method name="estimateNumberOfReducers" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <param name="mapReducerOper" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Looks up the estimator from REDUCER_ESTIMATOR_KEY and invokes it to find the number of
 reducers to use. If REDUCER_ESTIMATOR_KEY isn't set, defaults to InputSizeReducerEstimator.
 @param job
 @param mapReducerOper
 @throws IOException]]>
      </doc>
    </method>
    <method name="getCacheStagingDir" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFromCache" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="url" type="java.net.URL"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setOutputFormat"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
    </method>
    <field name="LOG_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="END_OF_INP_IN_MAP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_MAP_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_MAP_RANK_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_MAP_SEPARATOR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="globalCounters" type="java.util.HashMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALL_JOB_LOG_MSG" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIG_JOB_LOG_MSG" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_MAP_STORES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[We will serialize the POStore(s) present in map and reduce in lists in
 the Hadoop Conf. In the case of Multi stores, we could deduce these from
 the map plan and reduce plan but in the case of single store, we remove
 the POStore from the plan - in either case, we serialize the POStore(s)
 so that PigOutputFormat and PigOutputCommiter can get the POStore(s) in
 the same way irrespective of whether it is multi store or single store.]]>
      </doc>
    </field>
    <field name="PIG_REDUCE_STORES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is compiler class that takes an MROperPlan and converts
 it into a JobControl object with the relevant dependency info
 maintained. The JobControl Object is made up of Jobs each of
 which has a JobConf. The MapReduceOper corresponds to a Job
 and the getJobCong method returns the JobConf that is configured
 as per the MapReduceOper

 <h2>Comparator Design</h2>
 <p>
 A few words on how comparators are chosen.  In almost all cases we use raw
 comparators (the one exception being when the user provides a comparison
 function for order by).  For order by queries the PigTYPERawComparator
 functions are used, where TYPE is Int, Long, etc.  These comparators are
 null aware and asc/desc aware.  The first byte of each of the
 NullableTYPEWritable classes contains info on whether the value is null.
 Asc/desc is written as an array into the JobConf with the key pig.sortOrder
 so that it can be read by each of the comparators as part of their
 setConf call.
 <p>
 For non-order by queries, PigTYPEWritableComparator classes are used.
 These are all just type specific instances of WritableComparator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBagWritableComparator -->
  <class name="JobControlCompiler.PigBagWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBagWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBagWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBigDecimalWritableComparator -->
  <class name="JobControlCompiler.PigBigDecimalWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigDecimalWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBigDecimalWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBigIntegerWritableComparator -->
  <class name="JobControlCompiler.PigBigIntegerWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigIntegerWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBigIntegerWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBooleanWritableComparator -->
  <class name="JobControlCompiler.PigBooleanWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBooleanWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigBooleanWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigCharArrayWritableComparator -->
  <class name="JobControlCompiler.PigCharArrayWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigCharArrayWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigCharArrayWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDateTimeWritableComparator -->
  <class name="JobControlCompiler.PigDateTimeWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDateTimeWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDateTimeWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDBAWritableComparator -->
  <class name="JobControlCompiler.PigDBAWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDBAWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDBAWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDoubleWritableComparator -->
  <class name="JobControlCompiler.PigDoubleWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDoubleWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigDoubleWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigFloatWritableComparator -->
  <class name="JobControlCompiler.PigFloatWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFloatWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigFloatWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBagWritableComparator -->
  <class name="JobControlCompiler.PigGroupingBagWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingBagWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBagWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBigDecimalWritableComparator -->
  <class name="JobControlCompiler.PigGroupingBigDecimalWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingBigDecimalWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBigDecimalWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBigIntegerWritableComparator -->
  <class name="JobControlCompiler.PigGroupingBigIntegerWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingBigIntegerWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBigIntegerWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBooleanWritableComparator -->
  <class name="JobControlCompiler.PigGroupingBooleanWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingBooleanWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingBooleanWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingCharArrayWritableComparator -->
  <class name="JobControlCompiler.PigGroupingCharArrayWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingCharArrayWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingCharArrayWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDateTimeWritableComparator -->
  <class name="JobControlCompiler.PigGroupingDateTimeWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingDateTimeWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDateTimeWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDBAWritableComparator -->
  <class name="JobControlCompiler.PigGroupingDBAWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingDBAWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDBAWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDoubleWritableComparator -->
  <class name="JobControlCompiler.PigGroupingDoubleWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingDoubleWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingDoubleWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingFloatWritableComparator -->
  <class name="JobControlCompiler.PigGroupingFloatWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingFloatWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingFloatWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingIntWritableComparator -->
  <class name="JobControlCompiler.PigGroupingIntWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingIntWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingIntWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingLongWritableComparator -->
  <class name="JobControlCompiler.PigGroupingLongWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingLongWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingLongWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingPartitionWritableComparator -->
  <class name="JobControlCompiler.PigGroupingPartitionWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingPartitionWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingPartitionWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingTupleWritableComparator -->
  <class name="JobControlCompiler.PigGroupingTupleWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGroupingTupleWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigGroupingTupleWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigIntWritableComparator -->
  <class name="JobControlCompiler.PigIntWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigIntWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigIntWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigLongWritableComparator -->
  <class name="JobControlCompiler.PigLongWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigLongWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigLongWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigSecondaryKeyGroupComparator -->
  <class name="JobControlCompiler.PigSecondaryKeyGroupComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigSecondaryKeyGroupComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="b" type="org.apache.hadoop.io.WritableComparable"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigSecondaryKeyGroupComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigTupleWritableComparator -->
  <class name="JobControlCompiler.PigTupleWritableComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTupleWritableComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigTupleWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator -->
  <class name="JobControlCompiler.PigWritableComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigWritableComparator" type="java.lang.Class"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.PigWritableComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.KeyTypeDiscoveryVisitor -->
  <class name="KeyTypeDiscoveryVisitor" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KeyTypeDiscoveryVisitor" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan The MROperPlan to visit to discover keyType]]>
      </doc>
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to figure out the type of the key for the map plan
 this is needed when the key is null to create
 an appropriate NullableXXXWritable object]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.KeyTypeDiscoveryVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.LimitAdjuster -->
  <class name="LimitAdjuster" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LimitAdjuster" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="adjust"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.LimitAdjuster -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.LocalExecType -->
  <class name="LocalExecType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ExecType"/>
    <constructor name="LocalExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getExecutionEngineClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[LocalExecType is the ExecType for local mode in Hadoop Mapreduce.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.LocalExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher -->
  <class name="MapReduceLauncher" extends="org.apache.pig.backend.hadoop.executionengine.Launcher"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapReduceLauncher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="killJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="getError" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spec" type="org.apache.pig.impl.io.FileSpec"/>
      <doc>
      <![CDATA[Get the exception that caused a failure on the backend for a
 store location (if any).]]>
      </doc>
    </method>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <field name="SUCCEEDED_FILE_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Main class that launches pig for Map Reduce]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper -->
  <class name="MapReduceOper" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapReduceOper" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Uses the string representation of the 
 component plans to identify itself.]]>
      </doc>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="isMapDone" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMapDone"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapDone" type="boolean"/>
    </method>
    <method name="setMapDoneSingle"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapDone" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="setMapDoneMultiple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapDone" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="isReduceDone" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setReduceDone"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reduceDone" type="boolean"/>
    </method>
    <method name="isGlobalSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSkewedJoinPartitionFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="java.lang.String"/>
    </method>
    <method name="getSkewedJoinPartitionFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="skJoin" type="boolean"/>
    </method>
    <method name="getSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setGlobalSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="globalSort" type="boolean"/>
    </method>
    <method name="isLimitAfterSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimitAfterSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="las" type="boolean"/>
    </method>
    <method name="isLimitOnly" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimitOnly"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limitOnly" type="boolean"/>
    </method>
    <method name="isIndexer" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markIndexer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSampler" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSampler"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isGroupBy" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markGroupBy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCogroup" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markCogroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRegularJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markRegularJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="needsDistinctCombiner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNeedsDistinctCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nic" type="boolean"/>
    </method>
    <method name="getQuantFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setQuantFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="quantFile" type="java.lang.String"/>
    </method>
    <method name="setSortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortOrder" type="boolean[]"/>
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
    <method name="getSortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSecondarySortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEndOfAllInputSetInMap" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return whether end of all input is set in the map plan]]>
      </doc>
    </method>
    <method name="setEndOfAllInputInMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endOfAllInputInMap" type="boolean"/>
      <doc>
      <![CDATA[@param endOfAllInputInMap the streamInMap to set]]>
      </doc>
    </method>
    <method name="isEndOfAllInputSetInReduce" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return whether end of all input is set in the reduce plan]]>
      </doc>
    </method>
    <method name="setEndOfAllInputInReduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endOfAllInputInReduce" type="boolean"/>
      <doc>
      <![CDATA[@param endOfAllInputInReduce the streamInReduce to set]]>
      </doc>
    </method>
    <method name="getRequestedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCustomPartitioner" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSplitter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="boolean"/>
    </method>
    <method name="isSplitter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="usingTypedComparator" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="useTypedComparator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="useTypedComparator" type="boolean"/>
    </method>
    <method name="noCombineSmallSplits"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="combineSmallSplits" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRankOperation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRankOperationId" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCounterOperation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRowNumber" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOperationID" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="mapPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="reducePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="combinePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mapKeyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mapKeyTypeOfSplittees" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDFs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scalars" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="phyToMRMap" type="org.apache.pig.impl.util.MultiMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An operator model for a Map Reduce job. 
 Acts as a host to the plans that will
 execute in map, reduce and optionally combine
 phases. These will be embedded in the MROperPlan
 in order to capture the dependencies amongst jobs.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReducePOStoreImpl -->
  <class name="MapReducePOStoreImpl" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStoreImpl"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapReducePOStoreImpl" type="org.apache.hadoop.mapreduce.TaskInputOutputContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createStoreFunc" return="org.apache.pig.StoreFuncInterface"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="tearDown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="incrRecordCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="incr" type="long"/>
    </method>
    <doc>
    <![CDATA[This class is used to have a POStore write to DFS via a output
 collector/record writer. It sets up a modified job configuration to
 force a write to a specific subdirectory of the main output
 directory. This is done so that multiple output directories can be
 used in the same job.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReducePOStoreImpl -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MergeJoinIndexer -->
  <class name="MergeJoinIndexer" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MergeJoinIndexer" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param funcSpec : Loader specification.
  @param innerPlan : This is serialized version of LR plan. We 
  want to keep only keys in our index file and not the whole tuple. So, we need LR and thus its plan
  to get keys out of the sampled tuple.  
 @param serializedPhyPlan Serialized physical plan on right side.
 @throws ExecException]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Merge Join indexer is used to generate on the fly index for doing Merge Join efficiently.
  It samples first record from every block of right side input. 
  and returns tuple in the following format : 
  (key0, key1,...,position,splitIndex)
  These tuples are then sorted before being written out to index file on HDFS.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MergeJoinIndexer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler -->
  <class name="MRCompiler" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRCompiler" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="MRCompilerException" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException"/>
    </constructor>
    <constructor name="MRCompiler" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="MRCompilerException" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException"/>
    </constructor>
    <method name="aggregateScalarsFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getMRPlan" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used to get the compiled plan
 @return map reduce plan built by the compiler]]>
      </doc>
    </method>
    <method name="getPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used to get the plan that was compiled
 @return physical plan]]>
      </doc>
    </method>
    <method name="getMessageCollector" return="org.apache.pig.impl.plan.CompilationMessageCollector"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[The front-end method that the user calls to compile
 the plan. Assumes that all submitted plans have a Store
 operators as the leaf.
 @return A map reduce plan
 @throws IOException
 @throws PlanException
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="connectSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Compiles a split operator. The logic is to
 close the split job by replacing the split oper by
 a store and creating a new Map MRoper and return
 that as the current MROper to which other operators
 would be compiled into. The new MROper would be connected
 to the split job by load-store. Also add the split oper
 to the splitsSeen map.
 @param op - The split operator
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[This is an operator which will have multiple inputs(= to number of join inputs)
 But it prunes off all inputs but the fragment input and creates separate MR jobs
 for each of the replicated inputs and uses these as the replicated files that
 are configured in the POFRJoin operator. It also sets that this is FRJoin job
 and some parametes associated with it.]]>
      </doc>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Leftmost relation is referred as base relation (this is the one fed into mappers.)
  First, close all MROpers except for first one (referred as baseMROPer)
  Then, create a MROper which will do indexing job (idxMROper)
  Connect idxMROper before the mappedMROper in the MRPlan.]]>
      </doc>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="joinOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Since merge-join works on two inputs there are exactly two MROper predecessors identified  as left and right.
  Instead of merging two operators, both are used to generate a MR job each. First MR oper is run to generate on-the-fly index on right side.
  Second is used to actually do the join. First MR oper is identified as rightMROper and second as curMROper.

  1) RightMROper: If it is in map phase. It can be preceded only by POLoad. If there is anything else
                  in physical plan, that is yanked and set as inner plans of joinOp.
                  If it is reduce phase. Close this operator and start new MROper.
  2) LeftMROper:  If it is in map phase, add the Join operator in it.
                  If it is in reduce phase. Close it and start new MROper.]]>
      </doc>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[For the counter job, it depends if it is row number or not.
 In case of being a row number, any previous jobs are saved
 and POCounter is added as a leaf on a map task.
 If it is not, then POCounter is added as a leaf on a reduce
 task (last sorting phase).]]>
      </doc>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[In case of PORank, it is closed any other previous job (containing
 POCounter as a leaf) and PORank is added on map phase.]]>
      </doc>
    </method>
    <field name="USER_COMPARATOR_MARKER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILE_CONCATENATION_THRESHOLD" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OPTIMISTIC_FILE_CONCATENATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The compiler that compiles a given physical plan
 into a DAG of MapReduce operators which can then
 be converted into the JobControl structure.

 Is implemented as a visitor of the PhysicalPlan it
 is compiling.

 Currently supports all operators except the MR Sort
 operator

 Uses a predecessor based depth first traversal.
 To compile an operator, first compiles
 the predecessors into MapReduce Operators and tries to
 merge the current operator into one of them. The goal
 being to keep the number of MROpers to a minimum.

 It also merges multiple Map jobs, created by compiling
 the inputs individually, into a single job. Here a new
 map job is created and then the contents of the previous
 map plans are added. However, any other state that was in
 the previous map plans, should be manually moved over. So,
 if you are adding something new take care about this.
 Ex of this is in requestedParallelism

 Only in case of blocking operators and splits, a new
 MapReduce operator is started using a store-load combination
 to connect the two operators. Whenever this happens
 care is taken to add the MROper into the MRPlan and connect it
 appropriately.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException -->
  <class name="MRCompilerException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRCompilerException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="MRCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new MRCompilerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompilerException -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRConfiguration -->
  <class name="MRConfiguration" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRConfiguration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="CHILD_JAVA_OPTS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILEOUTPUTCOMMITTER_MARKSUCCESSFULJOBS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FRAMEWORK_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INPUT_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INPUT_DIR_RECURSIVE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INPUTFORMAT_CLASS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IO_SORT_MB" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JAR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_APPLICATION_ATTEMPT_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_CACHE_FILES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_CREDENTIALS_BINARY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_CREDENTIALS_JSON" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_END_NOTIFICATION_RETRY_INTERVAL" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_HDFS_SERVERS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_PRIORITY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_QUEUE_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_REDUCE_MARKRESET_BUFFER_PERCENT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_TRACKER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_TRACKER_HTTP_ADDRESS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_REDUCES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LINERECORDREADER_MAXLENGTH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_MAX_ATTEMPTS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_TASKS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAPPER_NEW_API" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAX_SPLIT_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT_BASENAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT_COMPRESS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT_COMPRESSION_CODEC" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_MAX_ATTEMPTS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_TASKS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCER_NEW_API" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SUMIT_REPLICATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_IS_MAP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_PARTITION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_TIMEOUT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TEXTOUTPUTFORMAT_SEPARATOR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="WORK_OUPUT_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRConfiguration -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRExecType -->
  <class name="MRExecType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ExecType"/>
    <constructor name="MRExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getExecutionEngineClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[MRExecType is the ExecType for distributed mode in Hadoop Mapreduce.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRExecutionEngine -->
  <class name="MRExecutionEngine" extends="org.apache.pig.backend.hadoop.executionengine.HExecutionEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRExecutionEngine" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="instantiateScriptState" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="instantiatePigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRExecutionEngine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRTaskContext -->
  <class name="MRTaskContext" extends="org.apache.pig.backend.hadoop.executionengine.TaskContext"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRTaskContext" type="org.apache.hadoop.mapreduce.TaskInputOutputContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.hadoop.mapreduce.TaskInputOutputContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="delta" type="long"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="delta" type="long"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="status" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRTaskContext -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRUtil -->
  <class name="MRUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="simpleConnectMapToReduce"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="getPlainForEachOP" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NativeMapReduceOper -->
  <class name="NativeMapReduceOper" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NativeMapReduceOper" type="org.apache.pig.impl.plan.OperatorKey, java.lang.String, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobNumber" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCommandString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="runJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NativeMapReduceOper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NoopFilterRemoverUtil -->
  <class name="NoopFilterRemoverUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoopFilterRemoverUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="removeFilter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NoopFilterRemoverUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PhyPlanSetter -->
  <class name="PhyPlanSetter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PhyPlanSetter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ld" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="un" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDemux"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="demux" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitConstant"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cnst" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="proj" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGreaterThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="grt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLessThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNotEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRegexp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="re" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitIsNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isNull" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitAdd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="add" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSubtract"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sub" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Subtract"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMultiply"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mul" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Multiply"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDivide"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dv" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Divide"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMod"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mod" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Mod"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitAnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="and" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitOr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="or" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNot"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="not" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitBinCond"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binCond" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond"/>
    </method>
    <method name="visitNegative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="negative" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="compFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMapLookUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapLookUp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lim" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPartialAgg"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poPartialAgg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOOptimizedForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="optimizedForEach" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPreCombinerLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="preCombinerLocalRearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mergeCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitReservoirSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reservoirSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POReservoirSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPoissonSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poissonSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[Sets the parent plan for all Physical Operators. Note: parentPlan
 is a bit of a misnomer. We actually want all the operators to point
 to the same plan - not necessarily the one they're a member of.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PhyPlanSetter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigDecimalRawComparator -->
  <class name="PigBigDecimalRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigBigDecimalRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableBigDecimalWritables as raw bytes.  If neither are null,
 then BigDecimalWritable.compare() is used.  If both are null then the indices
 are compared. Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigDecimalRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigIntegerRawComparator -->
  <class name="PigBigIntegerRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigBigIntegerRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableBigIntegerWritables as raw bytes.  If neither are null,
 then BigIntegerWritable.compare() is used.  If both are null then the indices
 are compared. Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigIntegerRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBooleanRawComparator -->
  <class name="PigBooleanRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigBooleanRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes.  If neither are null,
 then BooleanWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBooleanRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBytesRawComparator -->
  <class name="PigBytesRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigBytesRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableBytesWritables as raw bytes.
 If both are null, then the indices are compared.
 If neither are null
    and both are bytearrays, then direct Writable.compareBytes is used.
    For non-bytearrays, we use BinInterSedesTupleRawComparator.
 If either is null, null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBytesRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigCombiner -->
  <class name="PigCombiner" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigCombiner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigCombiner -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigCombiner.Combine -->
  <class name="PigCombiner.Combine" extends="org.apache.hadoop.mapreduce.Reducer"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Combine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Configures the Reduce plan, the POPackage operator
 and the reporter thread]]>
      </doc>
    </method>
    <method name="reduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="tupIter" type="java.lang.Iterable"/>
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[The reduce function which packages the key and List &lt;Tuple&gt;
 into key, Bag&lt;Tuple&gt; after converting Hadoop type key into Pig type.
 The package result is either collected as is, if the reduce plan is
 empty or after passing through the reduce plan.]]>
      </doc>
    </method>
    <method name="processOnePackageOutput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Will be called once all the intermediate keys and values are
 processed.
 cleanup references to the PhysicalPlan]]>
      </doc>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyType]]>
      </doc>
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
      <doc>
      <![CDATA[@param keyType the keyType to set]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigCombiner.Combine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDateTimeRawComparator -->
  <class name="PigDateTimeRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigDateTimeRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes. If neither are null, then
 IntWritable.compare() is used. If both are null then the indices are
 compared. Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDateTimeRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDoubleRawComparator -->
  <class name="PigDoubleRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigDoubleRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes.  If neither are null,
 then IntWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDoubleRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFileInputFormat -->
  <class name="PigFileInputFormat" extends="org.apache.hadoop.mapreduce.lib.input.FileInputFormat"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFileInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="listStatus" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFileInputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFloatRawComparator -->
  <class name="PigFloatRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigFloatRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes.  If neither are null,
 then IntWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFloatRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase -->
  <class name="PigGenericMapBase" extends="org.apache.hadoop.mapreduce.Mapper"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGenericMapBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setMapPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[for local map/reduce simulation
 @param plan the map plan]]>
      </doc>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Will be called when all the tuples in the input
 are done. So reporter thread should be closed.]]>
      </doc>
    </method>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Configures the mapper with the map plan and the
 reproter thread]]>
      </doc>
    </method>
    <method name="map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.Text"/>
      <param name="inpTuple" type="org.apache.pig.data.Tuple"/>
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[The map function that attaches the inpTuple appropriately
 and executes the map plan if its not empty. Collects the
 result of execution into oc or the input directly to oc
 if map plan empty. The collection is left abstract for the
 map-only or map-reduce job to implement. Map-only collects
 the tuple as-is whereas map-reduce collects it after extracting
 the key and indexed tuple.]]>
      </doc>
    </method>
    <method name="runPipeline"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="leaf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="collect"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="inIllustrator" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyType]]>
      </doc>
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
      <doc>
      <![CDATA[@param keyType the keyType to set]]>
      </doc>
    </method>
    <method name="getIllustratorContext" return="org.apache.hadoop.mapreduce.Mapper.Context"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="input" type="org.apache.pig.data.DataBag"/>
      <param name="output" type="java.util.List"/>
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="keyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="stores" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="tf" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorInMap" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class is the base class for PigMapBase, which has slightly
 difference among different versions of hadoop. PigMapBase implementation
 is located in $PIG_HOME/shims.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce -->
  <class name="PigGenericMapReduce" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGenericMapReduce"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="sJobContext" type="org.apache.hadoop.mapreduce.JobContext"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sJobConf" type="org.apache.hadoop.conf.Configuration"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link UDFContext} instead in the following way to get
 the job's {@link Configuration}:
 lEsS_tHaNpre>UdfContext.getUdfContext().getJobConf()lEsS_tHaN/pre>">
      <doc>
      <![CDATA[@deprecated Use {@link UDFContext} instead in the following way to get
 the job's {@link Configuration}:
 <pre>UdfContext.getUdfContext().getJobConf()</pre>]]>
      </doc>
    </field>
    <field name="sJobConfInternal" type="java.lang.ThreadLocal"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class is the static Mapper &amp; Reducer classes that
 are used by Pig to execute Pig Map Reduce jobs. Since
 there is a reduce phase, the leaf is bound to be a
 POLocalRearrange. So the map phase has to separate the
 key and tuple and collect it into the output
 collector.

 The shuffle and sort phase sorts these keys &amp; tuples
 and creates key, List&lt;Tuple&gt; and passes the key and
 iterator to the list. The deserialized POPackage operator
 is used to package the key, List&lt;Tuple&gt; into pigKey,
 Bag&lt;Tuple&gt; where pigKey is of the appropriate pig type and
 then the result of the package is attached to the reduce
 plan which is executed if its not empty. Either the result
 of the reduce plan or the package res is collected into
 the output collector.

 The index of the tuple (that is, which bag it should be placed in by the
 package) is packed into the key.  This is done so that hadoop sorts the
 keys in order of index for join.

 This class is the base class for PigMapReduce, which has slightly
 difference among different versions of hadoop. PigMapReduce implementation
 is located in $PIG_HOME/shims.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Map -->
  <class name="PigGenericMapReduce.Map" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Map -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.MapWithComparator -->
  <class name="PigGenericMapReduce.MapWithComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapWithComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This "specialized" map class is ONLY to be used in pig queries with
 order by a udf. A UDF used for comparison in the order by expects
 to be handed tuples. Hence this map class ensures that the "key" used
 in the order by is wrapped into a tuple (if it isn't already a tuple)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.MapWithComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.MapWithPartitionIndex -->
  <class name="PigGenericMapReduce.MapWithPartitionIndex" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Map"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapWithPartitionIndex"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="runPipeline"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="leaf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[Used by Skewed Join]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.MapWithPartitionIndex -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Reduce -->
  <class name="PigGenericMapReduce.Reduce" extends="org.apache.hadoop.mapreduce.Reducer"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Reduce"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setReducePlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[Set the reduce plan: to be used by local runner for illustrator
 @param plan Reduce plan]]>
      </doc>
    </method>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Configures the Reduce plan, the POPackage operator
 and the reporter thread]]>
      </doc>
    </method>
    <method name="reduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="tupIter" type="java.lang.Iterable"/>
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[The reduce function which packages the key and List&lt;Tuple&gt;
 into key, Bag&lt;Tuple&gt; after converting Hadoop type key into Pig type.
 The package result is either collected as is, if the reduce plan is
 empty or after passing through the reduce plan.]]>
      </doc>
    </method>
    <method name="processOnePackageOutput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="runPipeline"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="leaf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param leaf
 @throws InterruptedException
 @throws IOException]]>
      </doc>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Will be called once all the intermediate keys and values are
 processed. So right place to stop the reporter thread.]]>
      </doc>
    </method>
    <method name="getIllustratorContext" return="org.apache.hadoop.mapreduce.Reducer.Context"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <param name="input" type="java.util.List"/>
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Get reducer's illustrator context

 @param input Input buffer as output by maps
 @param pkg package
 @return reducer's illustrator context
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </method>
    <method name="inIllustrator" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
    </method>
    <method name="getPack" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
    </method>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="rp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="stores" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pack" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outputCollector" type="org.apache.hadoop.mapreduce.Reducer.Context"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorInReduce" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="initialized" type="boolean"
      transient="false" volatile="true"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Reduce -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.ReduceWithComparator -->
  <class name="PigGenericMapReduce.ReduceWithComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReduceWithComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Configures the Reduce plan, the POPackage operator
 and the reporter thread]]>
      </doc>
    </method>
    <method name="reduce"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="tupIter" type="java.lang.Iterable"/>
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[The reduce function which packages the key and List&lt;Tuple&gt;
 into key, Bag&lt;Tuple&gt; after converting Hadoop type key into Pig type.
 The package result is either collected as is, if the reduce plan is
 empty or after passing through the reduce plan.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This "specialized" reduce class is ONLY to be used in pig queries with
 order by a udf. A UDF used for comparison in the order by expects
 to be handed tuples. Hence a specialized map class (PigMapReduce.MapWithComparator)
 ensures that the "key" used in the order by is wrapped into a tuple (if it
 isn't already a tuple). This reduce class unwraps this tuple in the case where
 the map had wrapped into a tuple and handes the "unwrapped" key to the POPackage
 for processing]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.ReduceWithComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigHadoopLogger -->
  <class name="PigHadoopLogger" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"/>
    <method name="getInstance" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigHadoopLogger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get singleton instance of the context]]>
      </doc>
    </method>
    <method name="setReporter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reporter" type="org.apache.pig.tools.pigstats.PigWarnCounter"/>
    </method>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
    </method>
    <method name="getAggregate" return="boolean"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAggregate"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="aggregate" type="boolean"/>
    </method>
    <doc>
    <![CDATA[A singleton class that implements the PigLogger interface
 for use in map reduce context. Provides ability to aggregate
 warning messages]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigHadoopLogger -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat -->
  <class name="PigInputFormat" extends="org.apache.hadoop.mapreduce.InputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getSplits" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobcontext" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getPigSplits" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="oneInputSplits" type="java.util.List"/>
      <param name="inputIndex" type="int"/>
      <param name="targetOps" type="java.util.ArrayList"/>
      <param name="blockSize" type="long"/>
      <param name="combinable" type="boolean"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_INPUTS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_INPUT_TARGETS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_INPUT_SIGNATURES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_INPUT_LIMITS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.RecordReaderFactory -->
  <class name="PigInputFormat.RecordReaderFactory" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="RecordReaderFactory" type="org.apache.hadoop.mapreduce.InputSplit, org.apache.hadoop.mapreduce.TaskAttemptContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="inputFormat" type="org.apache.hadoop.mapreduce.InputFormat"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigSplit" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="loadFunc" type="org.apache.pig.LoadFunc"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="limit" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Helper class to create record reader]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat.RecordReaderFactory -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigIntRawComparator -->
  <class name="PigIntRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigIntRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes.  If neither are null,
 then IntWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigIntRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigLongRawComparator -->
  <class name="PigLongRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigLongRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableIntWritables as raw bytes.  If neither are null,
 then IntWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mAsc" type="boolean[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mWrappedComp" type="org.apache.hadoop.io.LongWritable.Comparator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigLongRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase -->
  <class name="PigMapBase" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigMapBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getIllustratorContext" return="org.apache.hadoop.mapreduce.Mapper.Context"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="input" type="org.apache.pig.data.DataBag"/>
      <param name="output" type="java.util.List"/>
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Get mapper's illustrator context
 
 @param conf  Configuration
 @param input Input bag to serve as data source
 @param output Map output buffer
 @param split the split
 @return Illustrator's context
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </method>
    <method name="inIllustrator" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.IllustratorContext -->
  <class name="PigMapBase.IllustratorContext" extends="org.apache.hadoop.mapreduce.task.MapContextImpl"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IllustratorContext" type="org.apache.hadoop.conf.Configuration, org.apache.pig.data.DataBag, java.util.List, org.apache.hadoop.mapreduce.InputSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </constructor>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCurrentValue" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase.IllustratorContext -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly -->
  <class name="PigMapOnly" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigMapOnly"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This class is the static Mapper class used by Pig
 to execute Pig map only jobs. It gets a TargetedTuple
 as input to the map function. Using the targets in it,
 attaches the tuple as input to the target operators.
 
 The map plan is then executed. The result is then collected
 into the output collector provide by Hadoop which is configured
 to write to the store file.
 
 There is a reporter running in a separate thread that keeps
 reporting progress to let the job tracker know that we are 
 alive. The sleep time for the reporter thread can be configured
 per job via the "pig.reporter.sleep.time". By default it uses
 a 10 sec sleep time]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly.Map -->
  <class name="PigMapOnly.Map" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oc" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly.Map -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce -->
  <class name="PigMapReduce" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigMapReduce"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce -->
  <class name="PigMapReduce.Reduce" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigGenericMapReduce.Reduce"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Reduce"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getIllustratorContext" return="org.apache.hadoop.mapreduce.Reducer.Context"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <param name="input" type="java.util.List"/>
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Get reducer's illustrator context
 
 @param input Input buffer as output by maps
 @param pkg package
 @return reducer's illustrator context
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </method>
    <method name="inIllustrator" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
    </method>
    <method name="getPack" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl -->
  <class name="PigMapReduce.Reduce.IllustratorContextImpl" extends="org.apache.hadoop.mapreduce.task.ReduceContextImpl"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IllustratorContextImpl" type="org.apache.hadoop.mapred.jobcontrol.Job, java.util.List, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </constructor>
    <method name="getCurrentKey" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="nextKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValues" return="java.lang.Iterable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="k" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="t" type="org.apache.hadoop.io.Writable"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="pack" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterable -->
  <class name="PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <implements name="java.lang.Iterable"/>
    <constructor name="IllustratorValueIterable"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterable -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterator -->
  <class name="PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.mapreduce.ReduceContext.ValueIterator"/>
    <constructor name="IllustratorValueIterator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="mark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="clearMark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="hasNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="next" return="org.apache.pig.impl.io.NullableTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetBackupStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce.IllustratorContextImpl.IllustratorValueIterator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter -->
  <class name="PigMapReduceCounter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigMapReduceCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter.PigMapCounter -->
  <class name="PigMapReduceCounter.PigMapCounter" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigMapCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Here is set up the task id, in order to be attached to each tuple]]>
      </doc>
    </method>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[While tuples are collected, they are counted one by one by a global counter per task.]]>
      </doc>
    </method>
    <field name="taskID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="context" type="org.apache.hadoop.mapreduce.Mapper.Context"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class is the used only for simple RANK operation, namely row number mode.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter.PigMapCounter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter.PigReduceCounter -->
  <class name="PigMapReduceCounter.PigReduceCounter" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduce.Reduce"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigReduceCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Here is set up the task id, in order to be attached to each tuple]]>
      </doc>
    </method>
    <method name="incrementCounter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="increment" type="java.lang.Long"/>
      <doc>
      <![CDATA[On this case, global counters are accessed during reduce phase (immediately after a
 sorting phase) and the increment for global counters are dependent if it is dense rank
 or not.
 If it is a dense rank, increment is done by 1. if it is not increment depends on the size
 of the size of bag in the tuple.
 @param increment is the value to add to the corresponding global counter.]]>
      </doc>
    </method>
    <field name="taskID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="context" type="org.apache.hadoop.mapreduce.Reducer.Context"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="leaves" type="java.util.List"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="leaf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class is the used for RANK BY operations, independently if it is dense or not.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapReduceCounter.PigReduceCounter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter -->
  <class name="PigOutputCommitter" extends="org.apache.hadoop.mapreduce.OutputCommitter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigOutputCommitter" type="org.apache.hadoop.mapreduce.TaskAttemptContext, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param context
 @param mapStores 
 @param reduceStores 
 @throws IOException]]>
      </doc>
    </constructor>
    <method name="setUpContext" return="org.apache.hadoop.mapreduce.JobContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isRecoverySupported" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="recoverTask"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="commitJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="abortJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <param name="state" type="org.apache.hadoop.mapreduce.JobStatus.State"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="abortTask"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="commitTask"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="needsTaskCommit" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setupJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setupTask"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[A specialization of the default FileOutputCommitter to allow
 pig to inturn delegate calls to the OutputCommiter(s) of the 
 StoreFunc(s)' OutputFormat(s).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat -->
  <class name="PigOutputFormat" extends="org.apache.hadoop.mapreduce.OutputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigOutputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskattemptcontext" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobContext" type="org.apache.hadoop.mapreduce.JobContext"/>
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Before delegating calls to underlying OutputFormat or OutputCommitter
 Pig needs to ensure the Configuration in the JobContext contains
 the output location and StoreFunc
 for the specific store - so set these up in the context for this specific
 store
 @param jobContext the {@link JobContext}
 @param store the POStore
 @throws IOException on failure]]>
      </doc>
    </method>
    <method name="checkOutputSpecs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobcontext" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="setupUdfEnvAndStores"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jobcontext" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputCommitter" return="org.apache.hadoop.mapreduce.OutputCommitter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskattemptcontext" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="PIG_MAPRED_OUTPUT_DIR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the temporary directory for the multi store]]>
      </doc>
    </field>
    <field name="PIG_TMP_PATH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[the relative path that can be used to build a temporary
 place to store the output from a number of map-reduce tasks]]>
      </doc>
    </field>
    <field name="reduceStores" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mapStores" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentConf" type="org.apache.hadoop.conf.Configuration"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The better half of PigInputFormat which is responsible
 for the Store functionality. It is the exact mirror
 image of PigInputFormat having RecordWriter instead
 of a RecordReader.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.PigRecordWriter -->
  <class name="PigOutputFormat.PigRecordWriter" extends="org.apache.hadoop.mapreduce.RecordWriter"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigRecordWriter" type="org.apache.hadoop.mapreduce.RecordWriter, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.StoreFuncDecorator, org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.Mode"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[We only care about the values, so we are going to skip the keys when
 we write.

 @see org.apache.hadoop.mapreduce.RecordWriter#write(Object, Object)]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskattemptcontext" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[Wrapper class which will delegate calls to the actual RecordWriter - this
 should only get called in the single store case.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.PigRecordWriter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader -->
  <class name="PigRecordReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigRecordReader" type="org.apache.hadoop.mapreduce.InputFormat, org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit, org.apache.pig.LoadFunc, org.apache.hadoop.mapreduce.TaskAttemptContext, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[@param context]]>
      </doc>
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getCurrentValue" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="initNextRecordReader" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Get the record reader for the next chunk in this CombineFileSplit.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A wrapper around the actual RecordReader and loadfunc - this is needed for
 two reasons
 1) To intercept the initialize call from hadoop and initialize the underlying
 actual RecordReader with the right Context object - this is achieved by
 looking up the Context corresponding to the input split this Reader is
 supposed to process
 2) We need to give hadoop consistent key-value types - text and tuple
 respectively - so PigRecordReader will call underlying Loader's getNext() to
 get the Tuple value - the key is null text since key is not used in input to
 map() in Pig.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigReducerEstimator -->
  <interface name="PigReducerEstimator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="estimateNumberOfReducers" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <param name="mapReduceOper" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Estimate the number of reducers for a given job based on the collection
 of load funcs passed.

 @param job job instance
 @param mapReduceOper map reducer operator of the job
 @return the number of reducers to use, or -1 if the count couldn't be estimated
 @throws IOException]]>
      </doc>
    </method>
    <field name="BYTES_PER_REDUCER_PARAM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAX_REDUCER_COUNT_PARAM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_BYTES_PER_REDUCER" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_MAX_REDUCER_COUNT_PARAM" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Interface to implement when you want to use a custom approach to estimating
 the number of reducers for a job.

 @see InputSizeReducerEstimator]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigReducerEstimator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSecondaryKeyComparator -->
  <class name="PigSecondaryKeyComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigSecondaryKeyComparator"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="b" type="org.apache.hadoop.io.WritableComparable"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSecondaryKeyComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSequenceFileInputFormat -->
  <class name="PigSequenceFileInputFormat" extends="org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigSequenceFileInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="listStatus" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSequenceFileInputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit -->
  <class name="PigSplit" extends="org.apache.hadoop.mapreduce.InputSplit"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.Writable"/>
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigSplit" type="org.apache.hadoop.mapreduce.InputSplit[], int, java.util.List, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTargetOps" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This methods returns the actual InputSplit (as returned by the
 {@link InputFormat}) which this class is wrapping.
 @return the wrappedSplit]]>
      </doc>
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <doc>
      <![CDATA[@param idx the index into the wrapped splits
 @return the specified wrapped split]]>
      </doc>
    </method>
    <method name="getLocations" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getLocationInfo" return="org.apache.hadoop.mapred.SplitLocationInfo[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Return the length of a wrapped split
 @param idx the index into the wrapped splits
 @return number of wrapped splits]]>
      </doc>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="is" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="os" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSplitIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMultiInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
      <doc>
      <![CDATA[Indicates this map has multiple input (such as the result of
 a join operation).
 @param b true if the map has multiple inputs]]>
      </doc>
    </method>
    <method name="isMultiInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns true if the map has multiple inputs, else false
 @return true if the map has multiple inputs, else false]]>
      </doc>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[(non-Javadoc)
 @see org.apache.hadoop.conf.Configurable#setConf(org.apache.hadoop.conf.Configuration)

 This will be called by
 {@link PigInputFormat#getSplits(org.apache.hadoop.mapreduce.JobContext)}
 to be used in {@link #write(DataOutput)} for serializing the
 wrappedSplit

 This will be called by Hadoop in the backend to set the right Job
 Configuration (hadoop will invoke this method because PigSplit implements
 {@link Configurable} - we need this Configuration in readFields() to
 deserialize the wrappedSplit]]>
      </doc>
    </method>
    <method name="getNumPaths" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the number of wrapped splits]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisableCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="disableCounter" type="boolean"/>
    </method>
    <method name="disableCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCurrentIdx"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <doc>
    <![CDATA[The main split class that maintains important
 information about the input split.

 The reason this class implements Configurable is so that Hadoop will call
 {@link Configurable#setConf(Configuration)} on the backend so we can use
 the Configuration to create the SerializationFactory to deserialize the
 wrapped InputSplit.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigStatsOutputSizeReader -->
  <interface name="PigStatsOutputSizeReader"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="supports" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sto" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Returns whether the given PSStore is supported by this output size reader
 or not.
 @param sto POStore
 @param conf Configuration]]>
      </doc>
    </method>
    <method name="getOutputSize" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sto" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the size of output in bytes. If the size of output cannot be
 computed for any reason, -1 should be returned.
 @param sto POStore
 @param conf configuration]]>
      </doc>
    </method>
    <field name="OUTPUT_SIZE_READER_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT_SIZE_READER_UNSUPPORTED" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Interface to implement when you want to customize the way of computing the
 size of output in PigStats. Since not every storage is file-based (e.g.
 HBaseStorage), the output size cannot always be computed as the total size of
 output files.

 @see FileBasedOutputSizeReader]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigStatsOutputSizeReader -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextInputFormat -->
  <class name="PigTextInputFormat" extends="org.apache.hadoop.mapreduce.lib.input.TextInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTextInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="listStatus" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextInputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextOutputFormat -->
  <class name="PigTextOutputFormat" extends="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTextOutputFormat" type="byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextOutputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextOutputFormat.PigLineRecordWriter -->
  <class name="PigTextOutputFormat.PigLineRecordWriter" extends="org.apache.hadoop.mapreduce.lib.output.TextOutputFormat.LineRecordWriter"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="PigLineRecordWriter" type="java.io.DataOutputStream, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextOutputFormat.PigLineRecordWriter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextRawComparator -->
  <class name="PigTextRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigTextRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableTextWritables as raw bytes.  If neither are null,
 then IntWritable.compare() is used.  If both are null then the indices
 are compared.  Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleDefaultRawComparator -->
  <class name="PigTupleDefaultRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TupleRawComparator"/>
    <constructor name="PigTupleDefaultRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasComparedTupleNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableTuples as raw bytes. If neither are null, then
 IntWritable.compare() is used. If both are null then the indices are
 compared. Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleDefaultRawComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleSortComparator -->
  <class name="PigTupleSortComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="PigTupleSortComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two NullableTuples as raw bytes. Tuples are compared field-wise.
 If both are null, then the indices are compared.
 Otherwise the null one is defined to be less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleSortComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators -->
  <class name="PigWritableComparators" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigWritableComparators"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawBytesComparator -->
  <class name="PigWritableComparators.PigBigDecimalRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigDecimalRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigDecimalRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigBigDecimalRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigDecimalRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigDecimalRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawPartitionComparator -->
  <class name="PigWritableComparators.PigBigDecimalRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigDecimalRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigDecimalRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigDecimalRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawBytesComparator -->
  <class name="PigWritableComparators.PigBigIntegerRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigIntegerRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigIntegerRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigBigIntegerRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigIntegerRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigIntegerRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawPartitionComparator -->
  <class name="PigWritableComparators.PigBigIntegerRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBigIntegerRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBigIntegerRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBigIntegerRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawBytesComparator -->
  <class name="PigWritableComparators.PigBooleanRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBooleanRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBooleanRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigBooleanRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBooleanRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBooleanRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawPartitionComparator -->
  <class name="PigWritableComparators.PigBooleanRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBooleanRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBooleanRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBooleanRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawBytesComparator -->
  <class name="PigWritableComparators.PigBytesRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBytesRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBytesRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigBytesRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBytesRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBytesRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawPartitionComparator -->
  <class name="PigWritableComparators.PigBytesRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigBytesRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigBytesRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigBytesRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawBytesComparator -->
  <class name="PigWritableComparators.PigDateTimeRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDateTimeRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDateTimeRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigDateTimeRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDateTimeRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDateTimeRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawPartitionComparator -->
  <class name="PigWritableComparators.PigDateTimeRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDateTimeRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDateTimeRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDateTimeRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawBytesComparator -->
  <class name="PigWritableComparators.PigDoubleRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDoubleRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDoubleRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigDoubleRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDoubleRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDoubleRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawPartitionComparator -->
  <class name="PigWritableComparators.PigDoubleRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigDoubleRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigDoubleRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigDoubleRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawBytesComparator -->
  <class name="PigWritableComparators.PigFloatRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFloatRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFloatRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigFloatRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFloatRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFloatRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawPartitionComparator -->
  <class name="PigWritableComparators.PigFloatRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFloatRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFloatRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigFloatRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawBytesComparator -->
  <class name="PigWritableComparators.PigIntRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigIntRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigIntRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigIntRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigIntRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigIntRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawPartitionComparator -->
  <class name="PigWritableComparators.PigIntRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigIntRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigIntRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigIntRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawBytesComparator -->
  <class name="PigWritableComparators.PigLongRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigLongRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigLongRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigLongRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigLongRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigLongRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawPartitionComparator -->
  <class name="PigWritableComparators.PigLongRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigLongRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigLongRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigLongRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawBytesComparator -->
  <class name="PigWritableComparators.PigTextRawBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTextRawBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawBytesPartitionComparator -->
  <class name="PigWritableComparators.PigTextRawBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTextRawBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawPartitionComparator -->
  <class name="PigWritableComparators.PigTextRawPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTextRawComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTextRawPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTextRawPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortBytesComparator -->
  <class name="PigWritableComparators.PigTupleSortBytesComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleSortComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTupleSortBytesComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortBytesComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortBytesPartitionComparator -->
  <class name="PigWritableComparators.PigTupleSortBytesPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleSortComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTupleSortBytesPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortBytesPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortPartitionComparator -->
  <class name="PigWritableComparators.PigTupleSortPartitionComparator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigTupleSortComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigTupleSortPartitionComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigWritableComparators.PigTupleSortPartitionComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ProgressableReporter -->
  <class name="ProgressableReporter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
    <constructor name="ProgressableReporter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ProgressableReporter" type="org.apache.hadoop.mapreduce.TaskAttemptContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
    </method>
    <method name="setRep"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rep" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ProgressableReporter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.RunJarSecurityManager -->
  <class name="RunJarSecurityManager" extends="java.lang.SecurityManager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RunJarSecurityManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="checkPermission"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="perm" type="java.security.Permission"/>
    </method>
    <method name="retire"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="checkExit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="status" type="int"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
    </method>
    <method name="getExitInvoked" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExitCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.RunJarSecurityManager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SampleOptimizer -->
  <class name="SampleOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SampleOptimizer" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to optimize plans that have a sample job that immediately follows a
 load/store only MR job.  These kinds of plans are generated for order bys, and
 will soon be generated for joins that need to sample their data first.  These
 can be changed so that the RandomSampleLoader subsumes the loader used in the
 first job and then removes the first job.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SampleOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SecondaryKeyOptimizer -->
  <class name="SecondaryKeyOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SecondaryKeyOptimizer" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan
            The MROperPlan to visit to discover keyType]]>
      </doc>
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNumMRUseSecondaryKey" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumSortRemoved" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDistinctChanged" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SecondaryKeyOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SecondaryKeyOptimizerMR -->
  <class name="SecondaryKeyOptimizerMR" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.optimizer.SecondaryKeyOptimizer"/>
    <constructor name="SecondaryKeyOptimizerMR" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan
            The MROperPlan to visit to discover keyType]]>
      </doc>
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNumSortRemoved" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumDistinctChanged" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumUseSecondaryKey" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SecondaryKeyOptimizerMR -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SortKeyInfo -->
  <class name="SortKeyInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SortKeyInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="moreSpecificThan" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o2" type="java.lang.Object"/>
    </method>
    <method name="insertColumnChainInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <param name="columnChainInfo" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.ColumnChainInfo"/>
      <param name="asc" type="boolean"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnChains" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAscs" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.SortKeyInfo -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.UDFEndOfAllInputNeededVisitor -->
  <class name="UDFEndOfAllInputNeededVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFEndOfAllInputNeededVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="needEndOfAllInputProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.UDFEndOfAllInputNeededVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.UDFFinishVisitor -->
  <class name="UDFFinishVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFFinishVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.UDFFinishVisitor -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.CountingMap -->
  <class name="CountingMap" extends="java.util.HashMap"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CountingMap"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="put" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.lang.Object"/>
      <param name="arg1" type="java.lang.Integer"/>
    </method>
    <method name="display"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTotalCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.CountingMap -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.DiscreteProbabilitySampleGenerator -->
  <class name="DiscreteProbabilitySampleGenerator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DiscreteProbabilitySampleGenerator" type="long, float[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNext" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.DiscreteProbabilitySampleGenerator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.SecondaryKeyPartitioner -->
  <class name="SecondaryKeyPartitioner" extends="org.apache.hadoop.mapreduce.lib.partition.HashPartitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="SecondaryKeyPartitioner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.SecondaryKeyPartitioner -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.SkewedPartitioner -->
  <class name="SkewedPartitioner" extends="org.apache.hadoop.mapreduce.Partitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="SkewedPartitioner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="wrappedKey" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <field name="tf" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="reducerMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="totalReducers" type="java.lang.Integer"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inited" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class is used by skewed join. For the partitioned table, the skewedpartitioner reads the key
 distribution data from the sampler file and returns the reducer index in a round robin fashion.
 For ex: if the key distribution file contains (k1, 5, 3) as an entry, reducers from 5 to 3 are returned
 in a round robin manner.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.SkewedPartitioner -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.WeightedRangePartitioner -->
  <class name="WeightedRangePartitioner" extends="org.apache.hadoop.mapreduce.Partitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="WeightedRangePartitioner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="configuration" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getProbVec" return="float[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param value
 @return
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getPigNullableWritable" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="convertToArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="quantilesListAsBag" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="weightedParts" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="quantiles" type="org.apache.pig.impl.io.PigNullableWritable[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="comparator" type="org.apache.hadoop.io.RawComparator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="job" type="org.apache.hadoop.conf.Configuration"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inited" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.WeightedRangePartitioner -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter -->
  <class name="DotMRPrinter" extends="org.apache.pig.impl.plan.DotPlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotMRPrinter" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="makeDumper" return="org.apache.pig.impl.plan.DotPlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter.InnerPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <doc>
    <![CDATA[This class can print an MR plan in the DOT format. It uses
 clusters to illustrate nesting. If "verbose" is off, it will skip
 any nesting in the associated physical plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter.InnerOperator -->
  <class name="DotMRPrinter.InnerOperator" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InnerOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.impl.plan.PlanVisitor"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Helper class to represent the relationship of map, reduce and
 combine phases in an MR operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter.InnerOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter.InnerPlan -->
  <class name="DotMRPrinter.InnerPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InnerPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[Helper class to represent the relationship of map, reduce and
 combine phases in an MR operator. Each MR operator will have
 an inner plan of map -> (combine)? -> (reduce)? inner
 operators. The inner operators contain the physical plan of the
 execution phase.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.DotMRPrinter.InnerPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.EndOfAllInputSetter -->
  <class name="EndOfAllInputSetter" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EndOfAllInputSetter" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan MR plan to visit]]>
      </doc>
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[This visitor visits the MRPlan and does the following
 for each MROper: If the map plan or the reduce plan of the MROper has
  an end of all input flag present in it, this marks in the MROper whether the map
 has an end of all input flag set or if the reduce has an end of all input flag set.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.EndOfAllInputSetter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.EndOfAllInputSetter.EndOfAllInputChecker -->
  <class name="EndOfAllInputSetter.EndOfAllInputChecker" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EndOfAllInputChecker" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mergeCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPartialAgg"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partAgg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitReservoirSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reservoirSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POReservoirSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPoissonSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poissonSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="isEndOfAllInputPresent" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if end of all input is present]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.EndOfAllInputSetter.EndOfAllInputChecker -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MRIntermediateDataVisitor -->
  <class name="MRIntermediateDataVisitor" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRIntermediateDataVisitor" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getIntermediate" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all paths for intermediate data. visit() must be called before this.
 
 @return All intermediate data ElementDescriptors]]>
      </doc>
    </method>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[An {@link MROpPlanVisitor} that gathers the paths for all
 intermediate data from a {@link MROperPlan}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MRIntermediateDataVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan -->
  <class name="MROperPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A Plan used to create the plan of 
 Map Reduce Operators which can be 
 converted into the Job Control
 object. This is necessary to capture
 the dependencies among jobs]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor -->
  <class name="MROpPlanVisitor" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MROpPlanVisitor" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor for the MROperPlan class]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MRPrinter -->
  <class name="MRPrinter" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan MR plan to print]]>
      </doc>
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor mechanism printing out the logical plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MRPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.POPackageAnnotator -->
  <class name="POPackageAnnotator" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPackageAnnotator" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan MR plan to visit]]>
      </doc>
    </constructor>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[This visitor visits the MRPlan and does the following
 for each MROper
  - visits the POPackage in the reduce plan and finds the corresponding
  POLocalRearrange(s) (either in the map plan of the same oper OR
  reduce plan of predecessor MROper). It then annotates the POPackage
  with information about which columns in the "value" are present in the
  "key" and will need to stitched in to the "value"]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.POPackageAnnotator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.ScalarPhyFinder -->
  <class name="ScalarPhyFinder" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScalarPhyFinder" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getScalars" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.ScalarPhyFinder -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.UDFFinder -->
  <class name="UDFFinder" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFFinder"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UDFFinder" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getUDFs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="compFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.UDFFinder -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.XMLMRPrinter -->
  <class name="XMLMRPrinter" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="XMLMRPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParserConfigurationException" type="javax.xml.parsers.ParserConfigurationException"/>
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan MR plan to print
 @throws ParserConfigurationException]]>
      </doc>
    </constructor>
    <method name="closePlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="TransformerException" type="javax.xml.transform.TransformerException"/>
    </method>
    <method name="visitMROp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor mechanism printing out the logical plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.XMLMRPrinter -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.optimizer">
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.optimizer.SecondaryKeyOptimizer -->
  <interface name="SecondaryKeyOptimizer"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getNumSortRemoved" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumDistinctChanged" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumUseSecondaryKey" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.optimizer.SecondaryKeyOptimizer -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.LogicalToPhysicalTranslatorException -->
  <class name="LogicalToPhysicalTranslatorException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalToPhysicalTranslatorException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="LogicalToPhysicalTranslatorException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalToPhysicalTranslatorException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.LogicalToPhysicalTranslatorException -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator -->
  <class name="PhysicalOperator" extends="org.apache.pig.impl.plan.Operator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.pen.Illustrable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="PhysicalOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PhysicalOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PhysicalOperator" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PhysicalOperator" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PhysicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setIllustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="getIllustrator" return="org.apache.pig.pen.Illustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRequestedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRequestedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requestedParallelism" type="int"/>
    </method>
    <method name="getResultType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAliasString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="copyAliasFrom"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="addOriginalLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="sourceLocation" type="org.apache.pig.parser.SourceLocation"/>
    </method>
    <method name="addOriginalLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="originalLocations" type="java.util.List"/>
    </method>
    <method name="getOriginalLocations" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumulative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isAccumulative" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumStart"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isAccumStarted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumEnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setResultType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resultType" type="byte"/>
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.List"/>
    </method>
    <method name="isInputAttached" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Shorts the input path of this operator by providing the input tuple
 directly

 @param t -
            The tuple that should be used as input]]>
      </doc>
    </method>
    <method name="detachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Detaches any tuples that are attached]]>
      </doc>
    </method>
    <method name="isBlocking" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A blocking operator should override this to return true. Blocking
 operators are those that need the full bag before operate on the tuples
 inside the bag. Example is the Global Rearrange. Non-blocking or pipeline
 operators are those that work on a tuple by tuple basis.

 @return true if blocking and false otherwise]]>
      </doc>
    </method>
    <method name="processInput" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A generic method for parsing input that either returns the attached input
 if it exists or fetches it from its predecessor. If special processing is
 required, this method should be overridden.

 @return The Result object that results from processing the input
 @throws ExecException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Implementations that call into the different versions of getNext are often
 identical, differing only in the signature of the getNext() call they make.
 This method allows to cut down on some of the copy-and-paste.
 @param dataType Describes the type of obj; a byte from DataType.

 @return result Result of applying this Operator to the Object.
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reset internal state in an operator.  For use in nested pipelines
 where operators like limit and sort may need to reset their state.
 Limit needs it because it needs to know it's seeing a fresh set of
 input.  Blocking operators like sort and distinct need it because they
 may not have drained their previous input due to a limit and thus need
 to be told to drop their old input and start over.]]>
      </doc>
    </method>
    <method name="isEndOfAllInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReporter" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return PigProgressable stored in threadlocal]]>
      </doc>
    </method>
    <method name="setReporter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reporter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable"/>
      <doc>
      <![CDATA[@param reporter PigProgressable to be stored in threadlocal]]>
      </doc>
    </method>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a copy of this operator. This function is blank, however,
 we should leave a place holder so that the subclasses can clone
 to make deep copy as this one creates a shallow copy of
 non-primitive types (objects, arrays and lists)

 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="cloneHelper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="clonePlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="origPlans" type="java.util.List"/>
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="setParentPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="physicalPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[@param physicalPlan]]>
      </doc>
    </method>
    <method name="getParentPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLogger" return="org.apache.commons.logging.Log"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPigLogger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="logger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"/>
    </method>
    <method name="getPigLogger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="serialVersionUID" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="RESULT_EMPTY" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="RESULT_EOP" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mTupleFactory" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mBagFactory" type="org.apache.pig.data.BagFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="requestedParallelism" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputs" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outputs" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="resultType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="parentPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputAttached" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="input" type="org.apache.pig.data.Tuple"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="res" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="alias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="reporter" type="java.lang.ThreadLocal"
      transient="false" volatile="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigLogger" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger"
      transient="false" volatile="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lineageTracer" type="org.apache.pig.pen.util.LineageTracer"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="illustrator" type="org.apache.pig.pen.Illustrator"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is the base class for all operators. This supports a generic way of
 processing inputs which can be overridden by operators extending this class.
 The input model assumes that it can either be taken from an operator or can
 be attached directly to this operator. Also it is assumed that inputs to an
 operator are always in the form of a tuple.

 For this pipeline rework, we assume a pull based model, i.e, the root
 operator is going to call getNext with the appropriate type which initiates a
 cascade of getNext calls that unroll to create input for the root operator to
 work on.

 Any operator that extends the PhysicalOperator, supports a getNext with all
 the different types of parameter types. The concrete implementation should
 use the result type of its input operator to decide the type of getNext's
 parameter. This is done to avoid switch/case based on the type as much as
 possible. The default is assumed to return an erroneus Result corresponding
 to an unsupported operation on that type. So the operators need to implement
 only those types that are supported.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.OriginalLocation -->
  <class name="PhysicalOperator.OriginalLocation" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="OriginalLocation" type="java.lang.String, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLine" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOffset" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator.OriginalLocation -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger -->
  <interface name="PigLogger"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="warn"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
      <doc>
      <![CDATA[If you have warning messages that need aggregation]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface to allow aggregation of messages]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigLogger -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable -->
  <interface name="PigProgressable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="progress"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Report progress.]]>
      </doc>
    </method>
    <method name="progress"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <doc>
      <![CDATA[Report progress with a message.
 @param msg message to send with progress report.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Pig's progress indicator.  An implemenation of this interface is passed to
 UDFs to allow them to send heartbeats.  By default Hadoop will kill a task
 if it does not receive a heartbeat every 600 seconds.  Any operation that
 may take more than this should call progress on a regular basis.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.PigProgressable -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.POPrinter -->
  <class name="POPrinter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.POPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.POStatus -->
  <class name="POStatus" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POStatus"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="STATUS_OK" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[STATUS_OK indicates that the pull on the operator pipeline resulted in a
 valid output.]]>
      </doc>
    </field>
    <field name="STATUS_NULL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[STATUS_NULL indicates that no output was produced, but there may be more
 results. This can happen if a value is filtered out or an empty bag is
 flattened. A caller will typically ignore the output and try again after
 seeing STATUS_NULL.

 This does NOT indicate that the output is the value 'null' (which is
 possible in expressions). This is represented as 'null' with STATUS_OK.]]>
      </doc>
    </field>
    <field name="STATUS_ERR" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[STATUS_ERR indicates that there was a problem while trying to produce a
 result. This should be remembered and fed back to the user.]]>
      </doc>
    </field>
    <field name="STATUS_EOP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[STATUS_EOP indicates that no output was produced, and no further outputs
 will be produced (e.g. all attached inputs have been consumed or a limit
 has reached its threshold). A caller will typically terminate or attach
 new inputs on seeing this status.]]>
      </doc>
    </field>
    <field name="STATUS_EOS" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is currently only used in communications between ExecutableManager
 and POStream. It indicates the end of Streaming output (i.e. output from
 streaming binary).]]>
      </doc>
    </field>
    <field name="STATUS_BATCH_OK" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Successful processing of a batch. This is used for accumulative UDFs.]]>
      </doc>
    </field>
    <field name="STATUS_EARLY_TERMINATION" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This signals that an accumulative UDF has already finished.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[POStatus is a set of flags used to communicate the status of Pig's operator
 pipeline to consumers.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.POStatus -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result -->
  <class name="Result" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="Result"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Result" type="byte, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="returnStatus" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="result" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result -->
  <doc>
  <![CDATA[<p>
Implementation of physical operators that use hadoop as the execution engine
and data storage.

<h2> Design </h2>
<p>
Physical operators use the operator, plan, visitor, and optimizer framework
provided by the {@link org.apache.pig.impl.plan} package.
<p>
As with {@link org.apache.pig.impl.logicalLayer}, physical operators consist
of {@link org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators} and
{@link org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators}.  In many data
processing systems relational operators and expression operators are modeled
as different entities because they behave differently.  Pig blurs, though does
not entirely remove, this distinction because of its support for nested
operations.
<p>
Conceptually, relational operators work on an entire relation (in Pig's case,
a bag).  In terms of implementation, they operate on one record (tuple) at a
time.  This avoids needing to load the entire relation into memory before
operating on it.
<p>
Expression operators, on the other hand, operate on the assumption that they
are provided their entire input at invocation time and provide their entire
output when they are finished.
<p>
Pig's hadoop implementation implements a pull based model, where each operator
calls getNext() on the operator before it in the plan.  getNext() is
implemented for each of the different data types, so that operators can
request the data type they expect.  Relational operators will always expect a
tuple.  Expression operators can request any data type.
<p>
As with the logical plan, physical relational operators often have embedded
physical plans.  When a relational operator calls getNext() on its predecessor
and receives a tuple, it will attach that tuple to its embedded physical plan(s)
and then call getNext() on the root node(s) of those plan(s) in order to get the
output.  For example, the Pig Latin <code>filter A by $0 != 5</code> will
produce a POFilter object, with an embedded physical plan that consists of
POProject(0), POConst(5), both attached to PONotEqual.  Each time
POFilter.getNext() is called, it will call its predecessors getNext() method,
and then attach the input to POProject and POConst.  It will then call
PONotEqual.getNext().  PONotEqual will in turn call POProject.getNext() and
POConst.getNext(), and then evaluate and return the results.  If the result is
true, POFilter will return its input tuple.
If the answer is false, it will call it's predecessor's getNext() method and
try again.
<p>
Given Pig's nested data and execution models, there are places it is necessary
to move between relational and expression operators.  Consider the following
Pig Latin script:
<code>
A = load 'myfile';
B = group A by $0;
C = foreach B {
    C1 = filter $1 by $0 &gt; 0; 
    C2 = distinct C1;
    generate group, COUNT(C2), SUM(C1.$0);
}
</code>
In particular, the foreach section presents some interesting challenges.
<p>
First, foreach has three separate outputs, all of which require separate but
parallel executions.  To address this, each element of the foreach is described by a
separate embedded plan.  This can cause duplication of
operations, as in this plan.
In this case splitting the plans for COUNT and SUM cause a double execution of
the <code>C1 = filter</code> section of the script.  But it avoids needing to
place a split operator between filter -&gt; distinct and filter -&gt; SUM.
<p>
The second issue presented by the nested logic is that the
foreach operator is going to receive a tuple with the format ($0, bag), where
bag is a collection of all the tuples with a given value for $0.  It will then
attach that to the filter.  But filter does not expect a bag.  It expects
to get tuples.  On the other end, distinct will be outputing tuples.  But
COUNT() expects C2 to be a bag that can be processed by COUNT as a whole.
<p>
To address this issue, some operators have been modified to provide
"bookend" functionality.  That is, the ability to translate between relational
and expression operators.
The embedded plan for calculating the COUNT in the foreach will
look like:  POProject(1) -&gt; PODistinct -&gt; POProject(*) -&gt; COUNT().
The first POProject(1) will have a bag attached as its input by POForeach.
But POFilter will call getNext(Tuple).  In this case, POProject will know to
open the bag and provide the tuples one at a time, until the bag is empty, at
which point it will return STATUS_EOP.  The PODistinct will be expecting to
return tuples, but POProject(*) will call getNext(bag).  In this case all
relational operators will be able to accumulate all of the tuples by calling
getNext(tuple) on themselves until they see STATUS_EOP, packaging those tuples
into a bag, and then returning that bag.
<p>
And third, project is being subtly overloaded here.  In cases where the script
says <code>C = foreach B generate $1</code>, this type of projection means take the second
element from the tuple and project it.  But in cases like <code>C = foreach B
generate SUM($1.$0)</code> and $1 is a bag, this type of projection expects to
receive a bag ($1) and output a modified bag ($1 with only the first field,
$0, remaining in all the tuples in the bag).  To handle this issue, POProject
will, when it sees that its predecessor is a POProject and its successors is
an expression operator it will perform a projection on the bag (that is,
perform the specified project on each tuple in the bag) rather than on a
tuple.]]>
  </doc>
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add -->
  <class name="Add" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Add" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Add" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add" return="java.lang.Number"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="b" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator -->
  <class name="BinaryComparisonOperator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ComparisonOperator"/>
    <constructor name="BinaryComparisonOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BinaryComparisonOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOperandType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOperandType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operandType" type="byte"/>
    </method>
    <method name="cloneHelper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="operandType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is a base class for all binary comparison operators. Supports the
 use of operand type instead of result type as the result type is
 always boolean.
 
 All comparison operators fetch the lhs and rhs operands and compare
 them for each type using different comparison methods based on what
 comparison is being implemented.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator -->
  <class name="BinaryExpressionOperator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinaryExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BinaryExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLhs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the child expressions of this expression]]>
      </doc>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLhs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
    </method>
    <method name="getRhs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRhs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
    </method>
    <method name="cloneHelper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="lhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="rhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A base class for all Binary expression operators.
 Supports the lhs and rhs operators which are used
 to fetch the inputs and apply the appropriate operation
 with the appropriate type.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ComparisonOperator -->
  <interface name="ComparisonOperator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getOperandType" return="byte"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Determine the type of the operand(s) of this comparator.
 @return type, as a byte (using DataType types).]]>
      </doc>
    </method>
    <method name="setOperandType"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operandType" type="byte"/>
      <doc>
      <![CDATA[Set the type of the operand(s) of this comparator.
 @param operandType Type of the operand(s), as a byte (using DataType
 types).]]>
      </doc>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[This is an interface for all comparison operators. Supports the
 use of operand type instead of result type as the result type is
 always boolean.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ComparisonOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression -->
  <class name="ConstantExpression" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantExpression" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ConstantExpression" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setValue"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="java.lang.Object"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the child expressions of this expression]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[This class implements a Constant of any type.
 Its value can be set using the setValue method.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Divide -->
  <class name="Divide" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Divide" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Divide" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="divide" return="java.lang.Number"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="b" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="equalsZero" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Divide"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <field name="BIGDECIMAL_MINIMAL_SCALE" type="short"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Divide -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr -->
  <class name="EqualToExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EqualToExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="EqualToExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator -->
  <class name="ExpressionOperator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setIllustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="visit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.  This is declared here to make it
 possible to call clone on ExpressionOperators.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the sub-expressions of this expression.
 This is called if reducer is run as accumulative mode, all the child
 expression must be called if they have any UDF to drive the UDF.accumulate()]]>
      </doc>
    </method>
    <method name="containUDF" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[check whether this expression contains any UDF
 this is called if reducer is run as accumulative mode
 in this case, all UDFs must be called]]>
      </doc>
    </method>
    <method name="accumChild" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="child" type="java.util.List"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Drive all the UDFs in accumulative mode]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A base class for all types of expressions. All expression
 operators must extend this class.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr -->
  <class name="GreaterThanExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GreaterThanExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GreaterThanExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr -->
  <class name="GTOrEqualToExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GTOrEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GTOrEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr -->
  <class name="LessThanExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LessThanExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LessThanExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr -->
  <class name="LTOrEqualToExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LTOrEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LTOrEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Mod -->
  <class name="Mod" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Mod" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Mod" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="mod" return="java.lang.Number"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="b" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Mod"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Mod -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Multiply -->
  <class name="Multiply" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Multiply" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Multiply" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="multiply" return="java.lang.Number"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="b" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Multiply"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Multiply -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr -->
  <class name="NotEqualToExpr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NotEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NotEqualToExpr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd -->
  <class name="POAnd" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POAnd" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POAnd" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Boolean and operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond -->
  <class name="POBinCond" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POBinCond" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POBinCond" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POBinCond" type="org.apache.pig.impl.plan.OperatorKey, int, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="setCond"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="condOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
    </method>
    <method name="setRhs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
    </method>
    <method name="setLhs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
    </method>
    <method name="getCond" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get condition]]>
      </doc>
    </method>
    <method name="getRhs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get right expression]]>
      </doc>
    </method>
    <method name="getLhs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get left expression]]>
      </doc>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get child expressions of this expression]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast -->
  <class name="POCast" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POCast" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCast" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lf" type="org.apache.pig.FuncSpec"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get child expression of this expression]]>
      </doc>
    </method>
    <method name="setFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
    </method>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[This is just a cast that converts DataByteArray into either String or
 Integer. Just added it for testing the POUnion. Need the full operator
 implementation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull -->
  <class name="POIsNull" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POIsNull" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POIsNull" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POIsNull" type="org.apache.pig.impl.plan.OperatorKey, int, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp -->
  <class name="POMapLookUp" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POMapLookUp" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POMapLookUp" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POMapLookUp" type="org.apache.pig.impl.plan.OperatorKey, int, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setLookUpKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="getLookUpKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="processInput" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative -->
  <class name="PONegative" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PONegative" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PONegative" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PONegative" type="org.apache.pig.impl.plan.OperatorKey, int, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot -->
  <class name="PONot" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PONot" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PONot" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Boolean not operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr -->
  <class name="POOr" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POOr" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POOr" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Boolean or operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject -->
  <class name="POProject" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POProject" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POProject" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POProject" type="org.apache.pig.impl.plan.OperatorKey, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POProject" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.ArrayList"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setProjectToEnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="startCol" type="int"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Overridden since the attachment of the new input
 should cause the old processing to end.]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Fetches the input tuple and returns the requested
 column
 @return next value.
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="consumeInputBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param input
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Asked for Tuples. Check if the input is a bag.
 If so, stream the tuples in the bag instead of
 the entire bag.]]>
      </doc>
    </method>
    <method name="getColumns" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumn" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getStartCol" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setColumns"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cols" type="java.util.ArrayList"/>
    </method>
    <method name="setColumn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="col" type="int"/>
    </method>
    <method name="isOverloaded" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOverloaded"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="overloaded" type="boolean"/>
    </method>
    <method name="isStar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isProjectToEnd" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="star" type="boolean"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="processInputBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setResultSingleTupleBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resultSingleTupleBag" type="boolean"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="columns" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="overloaded" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isProjectToEnd" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="startCol" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Implements the overloaded form of the project operator.
 Projects the specified column from the input tuple.
 However, if asked for tuples when the input is a bag,
 the overloaded form is invoked and the project streams
 the tuples through instead of the bag.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp -->
  <class name="PORegexp" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryComparisonOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PORegexp" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORegexp" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setImplementation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="impl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConstExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rhsConstant" type="boolean"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORelationToExprProject -->
  <class name="PORelationToExprProject" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PORelationToExprProject" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORelationToExprProject" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORelationToExprProject" type="org.apache.pig.impl.plan.OperatorKey, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORelationToExprProject" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.ArrayList"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORelationToExprProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Implements a specialized form of POProject which is
 used *ONLY* in the following case:
 This project is Project(*) introduced after a relational operator
 to supply a bag as output (as an expression). This project is either
 providing the bag as input to a successor expression operator or is 
 itself the leaf in a inner plan
 If the predecessor relational operator sends an EOP
 then send an empty bag first to signal "empty" output
 and then send an EOP

 NOTE: A Project(*) of return type BAG whose predecessor is
 from an outside plan (i.e. not in the same inner plan as the project)
 will NOT lead us here. So a query like:
 a = load 'baginp.txt' as (b:bag{t:tuple()}); b = foreach a generate $0; dump b;
 will go through a regular project (without the following flag)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORelationToExprProject -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc -->
  <class name="POUserComparisonFunc" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POUserComparisonFunc" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.FuncSpec, org.apache.pig.ComparisonFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUserComparisonFunc" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.FuncSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getComparator" return="org.apache.pig.ComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="org.apache.pig.data.Tuple"/>
      <param name="t2" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get child expressions of this expression]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc -->
  <class name="POUserFunc" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POUserFunc" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUserFunc" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.FuncSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUserFunc" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.FuncSpec, org.apache.pig.EvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getReferencedOperator" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setReferencedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="referencedOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="setFuncInputSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="processInput" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataBag" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBoolean" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDataByteArray" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDateTime" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextMap" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextString" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setAlgebraicFunction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="Function" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getOriginalReturnType" return="java.lang.reflect.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getReturnType" return="java.lang.reflect.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="isAsynchronous" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="org.apache.pig.FuncSpec"/>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCacheFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cf" type="java.util.List"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setShipFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sf" type="java.util.List"/>
    </method>
    <method name="combinable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get child expression of this expression]]>
      </doc>
    </method>
    <method name="setAccumStart"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setResultType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resultType" type="byte"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="getFunc" return="org.apache.pig.EvalFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setFuncInputSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[Sets EvalFunc's inputschema based on the signature
 @param signature]]>
      </doc>
    </method>
    <method name="needEndOfAllInputProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="INITIAL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTERMEDIATE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FINAL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Subtract -->
  <class name="Subtract" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.BinaryExpressionOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Subtract" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Subtract" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="subtract" return="java.lang.Number"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="a" type="java.lang.Number"/>
      <param name="b" type="java.lang.Number"/>
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="genericGetNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextDouble" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextFloat" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextLong" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigInteger" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextBigDecimal" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Subtract"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Subtract -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryComparisonOperator -->
  <class name="UnaryComparisonOperator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryExpressionOperator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ComparisonOperator"/>
    <constructor name="UnaryComparisonOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UnaryComparisonOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOperandType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOperandType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operandType" type="byte"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="cloneHelper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryComparisonOperator"/>
    </method>
    <field name="operandType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is a base class for all unary comparison operators. Supports the
 use of operand type instead of result type as the result type is
 always boolean.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryComparisonOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryExpressionOperator -->
  <class name="UnaryExpressionOperator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnaryExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UnaryExpressionOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInputAsExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[Set the contained expression to the be the input value.]]>
      </doc>
    </method>
    <method name="setExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"/>
      <doc>
      <![CDATA[Set the contained expression explicitly.  This is mostly for testing.
 @param e Expression to contain.]]>
      </doc>
    </method>
    <method name="getExpr" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ExpressionOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the contained expression.
 @return contained expression.]]>
      </doc>
    </method>
    <method name="cloneHelper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryExpressionOperator"/>
    </method>
    <method name="getChildExpressions" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get child expression of this expression]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.UnaryExpressionOperator -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.CompiledAutomaton -->
  <class name="CompiledAutomaton" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl"/>
    <constructor name="CompiledAutomaton" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="match" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="java.lang.String"/>
      <param name="rhs" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.CompiledAutomaton -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.CompiledRegex -->
  <class name="CompiledRegex" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl"/>
    <constructor name="CompiledRegex" type="java.util.regex.Pattern"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="match" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="java.lang.String"/>
      <param name="rhs" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.CompiledRegex -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.NonConstantRegex -->
  <class name="NonConstantRegex" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl"/>
    <constructor name="NonConstantRegex"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="match" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="java.lang.String"/>
      <param name="rhs" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.NonConstantRegex -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl -->
  <interface name="RegexImpl"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="match" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="java.lang.String"/>
      <param name="rhs" type="java.lang.String"/>
    </method>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexInit -->
  <class name="RegexInit" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexImpl"/>
    <implements name="java.io.Serializable"/>
    <constructor name="RegexInit" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setConstExpr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rhsConstant" type="boolean"/>
    </method>
    <method name="match" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="java.lang.String"/>
      <param name="rhs" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.regex.RegexInit -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.DotPOPrinter -->
  <class name="DotPOPrinter" extends="org.apache.pig.impl.plan.DotPlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotPOPrinter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DotPOPrinter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.io.PrintStream, boolean, java.util.Set, java.util.Set, java.util.Set"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="makeDumper" return="org.apache.pig.impl.plan.DotPlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="getMultiOutputNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <doc>
    <![CDATA[This class can print a physical plan in the DOT format. It uses
 clusters to illustrate nesting. If "verbose" is off, it will skip
 any nesting.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.DotPOPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PatternNode -->
  <class name="PatternNode" extends="org.apache.pig.newplan.Operator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PatternNode" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isLeafNode" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isLeafNode]]>
      </doc>
    </method>
    <method name="setLeafNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isLeafNode" type="boolean"/>
      <doc>
      <![CDATA[Set isLeafNode to true if the node must be a source
 @param isLeafNode]]>
      </doc>
    </method>
    <method name="isSourceNode" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isSourceNode]]>
      </doc>
    </method>
    <method name="setSourceNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isSourceNode" type="boolean"/>
      <doc>
      <![CDATA[Set isSourceNode to true if the node must be a source
 @param isSourceNode]]>
      </doc>
    </method>
    <method name="getClassName" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the className]]>
      </doc>
    </method>
    <method name="setClassName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="className" type="java.lang.Class"/>
      <doc>
      <![CDATA[@param className the className to set]]>
      </doc>
    </method>
    <method name="getMatch" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the match]]>
      </doc>
    </method>
    <method name="setMatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="match" type="java.lang.Object"/>
      <doc>
      <![CDATA[@param match the match to set]]>
      </doc>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operator" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Used for finding/representing a pattern in the plan
 This class represents a node in the pattern]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PatternNode -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PatternPlan -->
  <class name="PatternPlan" extends="org.apache.pig.newplan.BaseOperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PatternPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="match" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inpPlan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <doc>
      <![CDATA[Return true if the given plan has nodes that match the pattern 
 represented by this class
 If a match is found, the PatterNodes in the plan will return non 
 null node for getMatch(). 
 @param inpPlan - input plan to match
 @return true if match is found]]>
      </doc>
    </method>
    <method name="create" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PatternPlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="classList" type="java.lang.Class[]"/>
      <doc>
      <![CDATA[This function can be used to create a new PatternPlan if the pattern
 nodes have at most one parent/child, and they are connected to each other.
 The PatternNode corresponding to the i'th class in classList will be
 the predecessor of the one corresponding to i+1'th class.
 @param classList
 @return new PatterPlan corresponding to classList]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Used for finding/representing a pattern in the plan
 This class represents the pattern
 Finds only a single matching pattern
 This is finding a sub-graph( represented by pattern) in the graph(plan)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PatternPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor -->
  <class name="PhyPlanVisitor" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PhyPlanVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ld" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nat" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="un" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDemux"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="demux" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poCounter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitConstant"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cnst" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="proj" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGreaterThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="grt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLessThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNotEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRegexp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="re" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitIsNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isNull" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitAdd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="add" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Add"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSubtract"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sub" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Subtract"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMultiply"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mul" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Multiply"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDivide"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dv" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Divide"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMod"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mod" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.Mod"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitAnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="and" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitOr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="or" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNot"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="not" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitBinCond"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binCond" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond"/>
    </method>
    <method name="visitNegative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="negative" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="compFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMapLookUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapLookUp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lim" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mergeCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[@param stream
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sk" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPartitionRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartitionRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOOptimizedForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="optimizedForEach" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[@param optimizedForEach]]>
      </doc>
    </method>
    <method name="visitPreCombinerLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="preCombinerLocalRearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[@param preCombinerLocalRearrange]]>
      </doc>
    </method>
    <method name="visitPartialAgg"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poPartialAgg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitReservoirSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reservoirSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POReservoirSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPoissonSample"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poissonSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitBroadcastSpark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poBroadcastSpark" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POBroadcastSpark"/>
    </method>
    <doc>
    <![CDATA[The visitor class for the Physical Plan. To use this,
 create the visitor with the plan to be visited. Call
 the visit() method to traverse the plan in a depth first
 fashion.

 This class also visits the nested plans inside the operators.
 One has to extend this class to modify the nature of each visit
 and to maintain any relevant state information between the visits
 to two different operators.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan -->
  <class name="PhysicalPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Cloneable"/>
    <constructor name="PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="detachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <doc>
      <![CDATA[Write a visual representation of the Physical Plan
 into the given output stream
 @param out : OutputStream to which the visual representation is written]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <param name="verbose" type="boolean"/>
      <doc>
      <![CDATA[Write a visual representation of the Physical Plan
 into the given output stream
 @param out : OutputStream to which the visual representation is written
 @param verbose : Amount of information to print]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <doc>
      <![CDATA[Write a visual representation of the Physical Plan
 into the given printstream
 @param ps : PrintStream to which the visual representation is written
 @param format : Format to print in
 @param verbose : Amount of information to print]]>
      </doc>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="replace"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldNode" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="newNode" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="isEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="setOpMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="opmap" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="resetOpMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="endOfAllInput" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The base class for all types of physical plans.
 This extends the Operator Plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PlanPrinter -->
  <class name="PlanPrinter" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanPrinter" type="org.apache.pig.impl.plan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PlanPrinter" type="org.apache.pig.impl.plan.OperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="print"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="printer" type="java.io.OutputStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="breadthFirst"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="depthFirstPP" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
    </method>
    <method name="visitStartMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PlanPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.UdfCacheShipFilesVisitor -->
  <class name="UdfCacheShipFilesVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UdfCacheShipFilesVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ld" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
    <method name="getCacheFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getShipFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.UdfCacheShipFilesVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.XMLPhysicalPlanPrinter -->
  <class name="XMLPhysicalPlanPrinter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="XMLPhysicalPlanPrinter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.w3c.dom.Document, org.w3c.dom.Element"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="print"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="printer" type="java.io.OutputStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="depthFirstPP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="parentNode" type="org.w3c.dom.Element"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.XMLPhysicalPlanPrinter -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators">
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer -->
  <interface name="AccumulativeTupleBuffer"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="nextBatch"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Pull next batch of tuples from iterator and put them into this buffer]]>
      </doc>
    </method>
    <method name="hasNextBatch" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Whether there are more tuples to pull out of iterator]]>
      </doc>
    </method>
    <method name="clear"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Clear internal buffer, this should be called after all data are retreived]]>
      </doc>
    </method>
    <method name="getTuples" return="java.util.Iterator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <doc>
      <![CDATA[Get iterator of tuples in the buffer
 @param index  the index of tuple]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface is used during Reduce phrase to process tuples
 in batch mode. It is used by POPackage when all of the UDFs can be
 called in accumulative mode. Tuples are not pulled all at once,
 instead, each time, only a specified number of tuples are pulled out
 of iterator and put in an buffer. Then this buffer is wrapped into 
 a bag to be passed to the operators in reduce plan.
 
 The purpose of doing this is to reduce memory usage and avoid spilling.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.CombinerPackager -->
  <class name="CombinerPackager" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CombinerPackager" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A new POPostCombinePackage will be constructed as a near clone of the
 provided POPackage.
 @param pkg POPackage to clone.
 @param bags for each field, indicates whether it should be a bag (true)
 or a simple field (false).]]>
      </doc>
    </constructor>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="bags" type="org.apache.pig.data.DataBag[]"/>
      <param name="readOnce" type="boolean[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setKeyInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyInfo" type="java.util.Map"/>
      <doc>
      <![CDATA[@param keyInfo the keyInfo to set]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getValueTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="ntup" type="org.apache.pig.impl.io.NullableTuple"/>
      <param name="index" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[The package operator that packages the globally rearranged tuples into
 output format after the combiner stage.  It differs from POPackage in that
 it does not use the index in the NullableTuple to find the bag to put a
 tuple in.  Instead, the inputs are put in a bag corresponding to their
 offset in the tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.CombinerPackager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.JoinPackager -->
  <class name="JoinPackager" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JoinPackager" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext to get next ForEach result. The input for POJoinPackage is
 a (key, NullableTuple) pair. We will materialize n-1 inputs into bags, feed input#n
 one tuple a time to the delegated ForEach operator, the input for ForEach is
 
     (input#1, input#2, input#3....input#n[i]), i=(1..k), suppose input#n consists
 
 of k tuples.
 For every ForEach input, pull all the results from ForEach.
 getNext will be called multiple times for a particular input,
 it returns one output tuple from ForEach every time we call getNext,
 so we need to maintain internal status to keep tracking of where we are.]]>
      </doc>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="bags" type="org.apache.pig.data.DataBag[]"/>
      <param name="readOnce" type="boolean[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getInputPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInputPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
    </method>
    <method name="setToBeFlattened"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flattens" type="java.util.List"/>
    </method>
    <method name="getForEach" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the forEach]]>
      </doc>
    </method>
    <method name="setChunkSize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="chunkSize" type="long"/>
      <doc>
      <![CDATA[@param chunkSize - the chunk size for the biggest input]]>
      </doc>
    </method>
    <method name="setIllustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="DEFAULT_CHUNK_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.JoinPackager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.LitePackager -->
  <class name="LitePackager" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LitePackager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="bags" type="org.apache.pig.data.DataBag[]"/>
      <param name="readOnce" type="boolean[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getInner" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inner" type="boolean[]"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.LitePackager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the distinct]]>
      </doc>
    </method>
    <method name="setDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="boolean"/>
      <doc>
      <![CDATA[@param distinct the distinct to set]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Similar to POPackage.getNext except that
 only one input is expected with index 0
 and ReadOnceBag is used instead of
 DefaultDataBag.]]>
      </doc>
    </method>
    <method name="getValueTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="ntup" type="org.apache.pig.impl.io.NullableTuple"/>
      <param name="index" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Makes use of the superclass method, but this requires an additional
 parameter key passed by ReadOnceBag. key of this instance will be set to
 null in detachInput call, but an instance of ReadOnceBag may have the
 original key that it uses. Therefore this extra argument is taken to
 temporarily set it before the call to the superclass method and then
 restore it.]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[This package operator is a specialization
 of POPackage operator used for the specific
 case of the order by query. See JIRA 802
 for more details.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.LitePackager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.MultiQueryPackager -->
  <class name="MultiQueryPackager" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MultiQueryPackager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="addPackager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkgr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"/>
      <doc>
      <![CDATA[Appends the specified package object to the end of
 the package list.
 
 @param pack package to be appended to the list]]>
      </doc>
    </method>
    <method name="addPackager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkgr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"/>
      <param name="mapKeyType" type="byte"/>
      <doc>
      <![CDATA[Appends the specified package object to the end of
 the package list.
 
 @param pack package to be appended to the list
 @param mapKeyType the map key type associated with the package]]>
      </doc>
    </method>
    <method name="getPackagers" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of packages.
 
 @return the list of the packages]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Constructs the output tuple from the inputs.
 <p>
 The output is consumed by for the demultiplexer operator
 (PODemux) in the format (key, {bag of tuples}) where key
 is an indexed WritableComparable, not the wrapped value as a pig type.]]>
      </doc>
    </method>
    <method name="getIsKeyWrappedList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of booleans that indicates if the
 key needs to unwrapped for the corresponding plan.
 
 @return the list of isKeyWrapped boolean values]]>
      </doc>
    </method>
    <method name="addIsKeyWrappedList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lst" type="java.util.List"/>
      <doc>
      <![CDATA[Adds a list of IsKeyWrapped boolean values
 
 @param lst the list of boolean values to add]]>
      </doc>
    </method>
    <method name="setInCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inCombiner" type="boolean"/>
    </method>
    <method name="isInCombiner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSameMapKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sameMapKeyType" type="boolean"/>
    </method>
    <method name="isSameMapKeyType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumInputs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="byte"/>
    </method>
    <method name="getValueTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="ntup" type="org.apache.pig.impl.io.NullableTuple"/>
      <param name="origIndex" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[The package operator that packages the globally rearranged tuples
 into output format as required by multi-query de-multiplexer.
 <p>
 This operator is used when merging multiple Map-Reduce splittees
 into a Map-only splitter during multi-query optimization.
 The package operators of the reduce plans of the splittees form an
 indexed package list inside this operator. When this operator
 receives an input, it extracts the index from the key and calls the
 corresponding package to get the output data.
 <p>
 Due to the recursive nature of multi-query optimization, this operator
 may be contained in another multi-query packager.
 <p>
 The successor of this operator must be a PODemux operator which
 knows how to consume the output of this operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.MultiQueryPackager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager -->
  <class name="Packager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.pen.Illustrable"/>
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="Packager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getKey" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="bags" type="org.apache.pig.data.DataBag[]"/>
      <param name="readOnce" type="boolean[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="detachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup2" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
    </method>
    <method name="starMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.data.Tuple"/>
      <param name="val" type="org.apache.pig.data.Tuple"/>
      <param name="out" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getValueTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="ntup" type="org.apache.pig.impl.io.NullableTuple"/>
      <param name="index" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
    </method>
    <method name="getKeyTuple" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isKeyTuple]]>
      </doc>
    </method>
    <method name="getKeyAsTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyAsTuple]]>
      </doc>
    </method>
    <method name="getKey" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the key]]>
      </doc>
    </method>
    <method name="getInner" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inner" type="boolean[]"/>
    </method>
    <method name="setKeyInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyInfo" type="java.util.Map"/>
      <doc>
      <![CDATA[@param keyInfo the keyInfo to set]]>
      </doc>
    </method>
    <method name="setKeyTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyTuple" type="boolean"/>
      <doc>
      <![CDATA[@param keyTuple the keyTuple to set]]>
      </doc>
    </method>
    <method name="setKeyCompound"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyCompound" type="boolean"/>
      <doc>
      <![CDATA[@param keyCompound the keyCompound to set]]>
      </doc>
    </method>
    <method name="getKeyInfo" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyInfo]]>
      </doc>
    </method>
    <method name="getIllustrator" return="org.apache.pig.pen.Illustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIllustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the distinct]]>
      </doc>
    </method>
    <method name="setDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="boolean"/>
      <doc>
      <![CDATA[@param distinct the distinct to set]]>
      </doc>
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPackageType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"/>
    </method>
    <method name="getPackageType" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumInputs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="byte"/>
    </method>
    <method name="getNumInputs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNumInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numInputs" type="int"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="setParent"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pack" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
    </method>
    <method name="numberOfEquivalenceClasses" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="checkBagType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="readOnce" type="boolean[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="bags" type="org.apache.pig.data.DataBag[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="illustrator" type="org.apache.pig.pen.Illustrator"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="key" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isKeyTuple" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isKeyCompound" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="distinct" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyInfo" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="parent" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mBagFactory" type="org.apache.pig.data.BagFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mTupleFactory" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType -->
  <class name="Packager.PackageType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="GROUP" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOIN" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BLOOMJOIN" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager.PackageType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POBroadcastSpark -->
  <class name="POBroadcastSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POBroadcastSpark" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POBroadcastSpark" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POBroadcastSpark"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="setBroadcastedVariableName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="varName" type="java.lang.String"/>
      <doc>
      <![CDATA[Set your broadcast variable name so that
 BroadcastConverter can put this broadcasted variable in a map
 which can be referenced by other functions / closures in Converters

 @param varName]]>
      </doc>
    </method>
    <method name="getBroadcastedVariableName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <field name="broadcastedVariableName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POBroadcastSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup -->
  <class name="POCollectedGroup" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POCollectedGroup" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCollectedGroup" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCollectedGroup" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCollectedGroup" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isEndOfInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isEndOfInput" type="boolean"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Overridden since the attachment of the new input should cause the old
 processing to end.]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="constructOutput" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
    </method>
    <method name="getPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="serialVersionUID" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mTupleFactory" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plans" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="leafOps" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The collected group operator is a special operator used when users give
 the hint 'using "collected"' in a group by clause. It implements a map-side
 group that collects all records for a given key into a buffer. When it sees
 a key change it will emit the key and bag for records it had buffered.
 It will assume that all keys for a given record are collected together
 and thus there is not need to buffer across keys.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter -->
  <class name="POCounter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POCounter" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCounter" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCounter" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCounter" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCounter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCounter" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="addCounterValue" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Add current task id and local counter value.
 @param input from the previous output
 @return  a tuple within two values prepended to the tuple
 the task identifier and the local counter value.
 Local counter value could be incremented by one (is a row number or dense rank)
 or, could be incremented by the size of the bag on the previous tuple processed]]>
      </doc>
    </method>
    <method name="incrementReduceCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="increment" type="java.lang.Long"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCounterPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="counterPlans" type="java.util.List"/>
    </method>
    <method name="getCounterPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAscendingColumns"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mAscCols" type="java.util.List"/>
    </method>
    <method name="getAscendingColumns" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetLocalCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Initialization step into the POCounter is to set
  up local counter to 1.]]>
      </doc>
    </method>
    <method name="incrementLocalCounter" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Sequential counter used at ROW NUMBER and RANK BY DENSE mode]]>
      </doc>
    </method>
    <method name="setLocalCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="localCount" type="java.lang.Long"/>
    </method>
    <method name="getLocalCounter" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addToLocalCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="sizeBag" type="java.lang.Long"/>
    </method>
    <method name="setTaskId"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskID" type="int"/>
      <doc>
      <![CDATA[Task ID: identifier of the task (map or reducer)]]>
      </doc>
    </method>
    <method name="getTaskId" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIsDenseRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isDenseRank" type="boolean"/>
      <doc>
      <![CDATA[Dense Rank flag]]>
      </doc>
    </method>
    <method name="isDenseRank" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIsRowNumber"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isRowNumber" type="boolean"/>
      <doc>
      <![CDATA[Row number flag]]>
      </doc>
    </method>
    <method name="isRowNumber" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOperationID"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operationID" type="java.lang.String"/>
      <doc>
      <![CDATA[Operation ID: identifier shared within the corresponding PORank]]>
      </doc>
    </method>
    <method name="getOperationID" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <field name="ONE" type="java.lang.Long"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This operator is part of the RANK operator implementation.
 It adds a local counter and a unique task id to each tuple.
 There are 2 modes of operations: regular and dense.
 The local counter is depends on the mode of operation.
 With regular rank is considered duplicate rows while assigning
 numbers to distinct values groups.
 With dense rank counts the number of distinct values, without
 considering duplicate rows. Depending on if it is considered.
 the entire tuple (row number) or a by a set of columns (rank by).

 This Physical Operator relies on some specific MR class,
 available at PigMapReduceCounter.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross -->
  <class name="POCross" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POCross" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCross" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCross" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POCross" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="inputBags" type="org.apache.pig.data.DataBag[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="data" type="org.apache.pig.data.Tuple[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="its" type="java.util.Iterator[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="tupleOfLastBag" type="org.apache.pig.data.Tuple"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Recover this class for nested cross operation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux -->
  <class name="PODemux" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PODemux" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key.
 
 @param k the operator key]]>
      </doc>
    </constructor>
    <constructor name="PODemux" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key
 and degree of parallelism.
  
 @param k the operator key
 @param rp the degree of parallelism requested]]>
      </doc>
    </constructor>
    <constructor name="PODemux" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key and inputs.
  
 @param k the operator key
 @param inp the inputs that this operator will read data from]]>
      </doc>
    </constructor>
    <constructor name="PODemux" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key,
 degree of parallelism and inputs.
 
 @param k the operator key
 @param rp the degree of parallelism requested 
 @param inp the inputs that this operator will read data from]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of inner plans.
  
 @return the list of the nested plans]]>
      </doc>
    </method>
    <method name="addPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[Appends the specified plan at the end of the list.
 
 @param inPlan plan to be appended to the inner plan list]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setInCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inCombiner" type="boolean"/>
      <doc>
      <![CDATA[Sets a flag indicating if this operator is 
 in a combiner. 
 
 @param inCombiner true if this operator is in
 a combiner; false if this operator is in a reducer]]>
      </doc>
    </method>
    <method name="isInCombiner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns a flag indicating if this operator is 
 in a combiner.
 
 @return true if this operator is in a combiner;
 otherwise this operator is in a reducer]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[The MapReduce Demultiplexer operator.
 <p>
 This operator is used when merging multiple Map-Reduce splittees
 into a Map-only splitter during multi-query optimization. 
 The reduce physical plans of the splittees become the inner plans 
 of this operator.
 <p>
 Due to the recursive nature of multi-query optimization, this operator
 may be contained in another demux operator.
 <p>
 The predecessor of this operator must be a POMultiQueryPackage
 operator which passes the index (indicating which inner reduce plan to run)
 along with other data to this operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct -->
  <class name="PODistinct" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Cloneable"/>
    <constructor name="PODistinct" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PODistinct" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PODistinct" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PODistinct" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCustomPartitioner" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCustomPartitioner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
    </method>
    <method name="isBlocking" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="customPartitioner" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Find the distinct set of tuples in a bag.
 This is a blocking operator. All the input is put in the hashset implemented
 in DistinctDataBag which also provides the other DataBag interfaces.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter -->
  <class name="POFilter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POFilter" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POFilter" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POFilter" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POFilter" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Attaches the proccesed input tuple to the expression plan and checks if
 comparison operator returns a true. If so the tuple is not filtered and
 let to pass through. Else, further input is processed till a tuple that
 can be passed through is found or EOP is reached.]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
    <method name="getPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[This is an implementation of the Filter operator. It has an Expression Plan
 that decides whether the input tuple should be filtered or passed through. To
 avoid many function calls, the filter operator, stores the Comparison
 Operator that is the root of the Expression Plan and uses its getNext
 directly.

 Since the filter is supposed to return tuples only, getNext is not supported
 on any other data type.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach -->
  <class name="POForEach" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POForEach" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POForEach" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POForEach" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POForEach" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POForEach" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumulative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumStart"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAccumEnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested
 physical plan and returns it maintaining an additional state
 to denote the begin and end of the nested plan processing.]]>
      </doc>
    </method>
    <method name="processPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="createTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="data" type="java.lang.Object[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param data array that is the template for the final flattened tuple
 @return the final flattened tuple]]>
      </doc>
    </method>
    <method name="attachInputToPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getLeaves"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInputPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
    </method>
    <method name="addInputPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="flatten" type="boolean"/>
    </method>
    <method name="setToBeFlattened"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flattens" type="java.util.List"/>
    </method>
    <method name="getToBeFlattened" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="inProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUpFlattens"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isToBeFlattened" type="java.util.List"/>
    </method>
    <method name="getOpsToBeReset" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the opsToBeReset]]>
      </doc>
    </method>
    <method name="setOpsToBeReset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="opsToBeReset" type="java.util.List"/>
      <doc>
      <![CDATA[@param opsToBeReset the opsToBeReset to set]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="getPlanLeafOps" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMapSideOnly"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapSideOnly" type="boolean"/>
    </method>
    <method name="isMapSideOnly" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="needEndOfAllInputProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <field name="inputPlans" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="opsToBeReset" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="planLeafOps" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="resultTypes" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isToBeFlattenedArray" type="boolean[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="noItems" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="processingPlan" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="its" type="java.util.Iterator[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="bags" type="java.lang.Object[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="data" type="java.lang.Object[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="earlyTermination" type="java.util.BitSet"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="tIn" type="org.apache.pig.pen.util.ExampleTuple"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="buffer" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inpTuple" type="org.apache.pig.data.Tuple"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="endOfAllInputProcessed" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mapSideOnly" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="endOfAllInputProcessing" type="java.lang.Boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin -->
  <class name="POFRJoin" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POFRJoin" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, java.util.List, org.apache.pig.impl.io.FileSpec[], int, boolean, org.apache.pig.data.Tuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <constructor name="POFRJoin" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, java.util.List, org.apache.pig.impl.io.FileSpec[], int, boolean, org.apache.pig.data.Tuple, org.apache.pig.impl.logicalLayer.schema.Schema[], org.apache.pig.impl.logicalLayer.schema.Schema[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <constructor name="POFRJoin" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setUpHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Builds the HashMaps by reading each replicated input from the DFS using a
 Load operator

 @throws ExecException]]>
      </doc>
    </method>
    <method name="isKeyNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getValueTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getJoinPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLRs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLeftOuterJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFragment" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFragment"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fragment" type="int"/>
    </method>
    <method name="getReplFiles" return="org.apache.pig.impl.io.FileSpec[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setReplFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="replFiles" type="org.apache.pig.impl.io.FileSpec[]"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <field name="fragment" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="phyPlanLists" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyTypes" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="LRs" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="replFiles" type="org.apache.pig.impl.io.FileSpec[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="constExps" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="fe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isLeftOuterJoin" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="nullBag" type="org.apache.pig.data.DataBag"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputSchemas" type="org.apache.pig.impl.logicalLayer.schema.Schema[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keySchemas" type="org.apache.pig.impl.logicalLayer.schema.Schema[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="replicates" type="java.util.List"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="processingPlan" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="dumTup" type="org.apache.pig.data.Tuple"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="setUp" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The operator models the join keys using the Local Rearrange operators which
 are configured with the plan specified by the user. It also sets up one
 Hashtable per replicated input which maps the Key(k) stored as a Tuple to a
 DataBag which holds all the values in the input having the same key(k) The
 getNext() reads an input from its predecessor and separates them into key &
 value. It configures a foreach operator with the databags obtained from each
 Hashtable for the key and also with the value for the fragment input. It then
 returns tuples returned by this foreach operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin.TupleToMapKey -->
  <class name="POFRJoin.TupleToMapKey" extends="java.util.HashMap"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="TupleToMapKey" type="int, org.apache.pig.data.SchemaTupleFactory"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="put" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin.TuplesToSchemaTupleList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="val" type="java.util.ArrayList"/>
    </method>
    <method name="get" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin.TuplesToSchemaTupleList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin.TupleToMapKey -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoinSpark -->
  <class name="POFRJoinSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POFRJoinSpark" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="setUpHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="broadcasts" type="java.util.Map"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoinSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange -->
  <class name="POGlobalRearrange" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POGlobalRearrange" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POGlobalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POGlobalRearrange" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POGlobalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POGlobalRearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="getCustomPartitioner" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCustomPartitioner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isBlocking" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="setCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="boolean"/>
    </method>
    <method name="isCross" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="customPartitioner" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Dummy operator to test MRCompiler.
 This will be a local operator and its
 getNext methods have to be implemented]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit -->
  <class name="POLimit" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POLimit" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLimit" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLimit" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLimit" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="long"/>
    </method>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLimitPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimitPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="expressionPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Counts the number of tuples processed into static variable soFar, if the number of tuples processed reach the
 limit, return EOP; Otherwise, return the tuple]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad -->
  <class name="POLoad" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POLoad" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLoad" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.impl.io.FileSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLoad" type="org.apache.pig.impl.plan.OperatorKey, int, org.apache.pig.impl.io.FileSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLoad" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.LoadFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set up the loader by 
 1) Instantiating the load func
 2) Opening an input stream to the specified file and
 3) Binding to the input stream at the specified offset.
 @throws IOException]]>
      </doc>
    </method>
    <method name="tearDown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[At the end of processing, the inputstream is closed
 using this method
 @throws IOException]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[The main method used by this operator's successor
 to read tuples from the specified file using the
 specified load function.
 
 @return Whatever the loader returns
          A null from the loader is indicative
          of EOP and hence the tearDown of connection]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getLFile" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="org.apache.pig.impl.io.FileSpec"/>
    </method>
    <method name="setIsTmpLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tmp" type="boolean"/>
    </method>
    <method name="isTmpLoad" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPc" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getLoadFunc" return="org.apache.pig.LoadFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="long"/>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCacheFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cf" type="java.util.List"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setShipFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sf" type="java.util.List"/>
    </method>
    <doc>
    <![CDATA[The load operator which is used in two ways:
 1) As a local operator it can be used to load files
 2) In the Map Reduce setting, it is used to create jobs
    from MapReduce operators which keep the loads and
    stores in the Map and Reduce Plans till the job is created]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange -->
  <class name="POLocalRearrange" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIndex" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Sets the co-group index of this operator

 @param index the position of this operator in
 a co-group operation
 @throws ExecException if the index value is bigger then 0x7F]]>
      </doc>
    </method>
    <method name="setMultiQueryIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Sets the multi-query index of this operator

 @param index the position of the parent plan of this operator
 in the enclosed split operator
 @throws ExecException if the index value is bigger then 0x7F]]>
      </doc>
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isDistinct" type="boolean"/>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Overridden since the attachment of the new input should cause the old
 processing to end.]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested
 physical plan. Converts the generated tuple into the proper
 format, i.e, (key,indexedTuple(value))]]>
      </doc>
    </method>
    <method name="getKeyFromResult" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="constructLROutput" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="secondaryResLst" type="java.util.List"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMainKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
    </method>
    <method name="getPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="setPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="setSecondaryPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="isCross" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isCross" type="boolean"/>
    </method>
    <method name="getProjectedColsMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the mProjectedColsMap]]>
      </doc>
    </method>
    <method name="getSecondaryProjectedColsMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the mProjectedColsMap]]>
      </doc>
    </method>
    <method name="isProjectStar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the mProjectStar]]>
      </doc>
    </method>
    <method name="isSecondaryProjectStar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the mProjectStar]]>
      </doc>
    </method>
    <method name="isKeyTuple" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyTuple]]>
      </doc>
    </method>
    <method name="isKeyCompound" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isKeyCompound]]>
      </doc>
    </method>
    <method name="isSecondaryKeyTuple" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the keyTuple]]>
      </doc>
    </method>
    <method name="setPlansFromCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[@param plans
 @throws ExecException]]>
      </doc>
    </method>
    <method name="setStripKeyFromValue"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="stripKeyFromValue" type="boolean"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="serialVersionUID" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plans" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="secondaryPlans" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="leafOps" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="secondaryLeafOps" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="index" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mainKeyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="secondaryKeyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mIsDistinct" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isCross" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mFakeTuple" type="org.apache.pig.data.Tuple"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The local rearrange operator is a part of the co-group
 implementation. It has an embedded physical plan that
 generates tuples of the form (grpKey,(indxed inp Tuple)).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup -->
  <class name="POMergeCogroup" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POMergeCogroup" type="org.apache.pig.impl.plan.OperatorKey, java.util.List, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange[], int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setEndOfRecordMark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endOfRecordMark" type="byte"/>
    </method>
    <method name="isEndOfInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isEndOfInput" type="boolean"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLRInnerPlansOf" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="setSideLoadFuncs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sideLoadFuncs" type="java.util.List"/>
    </method>
    <method name="setSideFileSpecs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sideFileSpecs" type="java.util.List"/>
    </method>
    <method name="getIndexFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIndexFileName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="indexFileName" type="java.lang.String"/>
    </method>
    <method name="getIdxFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIdxFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idxFileSpec" type="org.apache.pig.FuncSpec"/>
    </method>
    <method name="setLoaderSignatures"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loaderSignatures" type="java.util.List"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin -->
  <class name="POMergeJoin" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POMergeJoin" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.impl.util.MultiMap, java.util.List, org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE, org.apache.pig.impl.logicalLayer.schema.Schema, org.apache.pig.impl.logicalLayer.schema.Schema, org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[@param k
 @param rp
 @param inp
 @param inpPlans there can only be 2 inputs each being a List<PhysicalPlan>
 Ex. join A by ($0,$1), B by ($1,$2);]]>
      </doc>
    </constructor>
    <method name="isEndOfInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isEndOfInput" type="boolean"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="throwProcessingException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="withCauseException" type="boolean"/>
      <param name="e" type="java.lang.Exception"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setupRightPipeline"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rightPipeline" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setRightLoaderFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rightLoaderFuncSpec" type="org.apache.pig.FuncSpec"/>
    </method>
    <method name="getInnerPlansOf" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRightInputFileName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rightInputFileName" type="java.lang.String"/>
      <doc>
      <![CDATA[@param rightInputFileName the rightInputFileName to set]]>
      </doc>
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setIndexFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="indexFile" type="java.lang.String"/>
    </method>
    <method name="getIndexFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="getJoinType" return="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLRs" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This operator implements merge join algorithm to do map side joins.
  Currently, only two-way joins are supported. One input of join is identified as left
  and other is identified as right. Left input tuples are the input records in map.
  Right tuples are read from HDFS by opening right stream.

    This join doesn't support outer join.
    Data is assumed to be sorted in ascending order. It will fail if data is sorted in descending order.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin.TuplesToSchemaTupleList -->
  <class name="POMergeJoin.TuplesToSchemaTupleList" extends="java.util.ArrayList"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TuplesToSchemaTupleList" type="int, org.apache.pig.data.TupleMaker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="tf" type="org.apache.pig.data.SchemaTupleFactory"/>
    </method>
    <method name="add" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="get" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This is a class that extends ArrayList, making it easy to provide on the fly conversion
 from Tuple to SchemaTuple. This is necessary because we are not getting SchemaTuples
 from the source, though in the future that is what we would like to do.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin.TuplesToSchemaTupleList -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative -->
  <class name="PONative" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PONative" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNativeMRjar" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNativeMRjar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nativeMRjar" type="java.lang.String"/>
    </method>
    <method name="getParams" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setParams"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="params" type="java.lang.String[]"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach -->
  <class name="POOptimizedForEach" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POOptimizedForEach" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POOptimizedForEach" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POOptimizedForEach" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POOptimizedForEach" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POOptimizedForEach" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested
 physical plan and returns it maintaining an additional state
 to denote the begin and end of the nested plan processing.]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A specialized version of POForeach with the difference
 that in getNext(), it knows that "input" has already been
 attached by its input operator which SHOULD be POJoinPackage]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage -->
  <class name="POPackage" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPackage" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPackage" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPackage" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPackage" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPackage" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPackage" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setIllustrator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="k" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="inp" type="java.util.Iterator"/>
      <doc>
      <![CDATA[Attaches the required inputs
 @param k - the key being worked on
 @param inp - iterator of indexed tuples typically
              obtained from Hadoop]]>
      </doc>
    </method>
    <method name="detachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[attachInput's better half!]]>
      </doc>
    </method>
    <method name="getNumInps" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNumInps"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numInps" type="int"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[From the inputs, constructs the output tuple for this co-group in the
 required format which is (key, {bag of tuples from input 1}, {bag of
 tuples from input 2}, ...)]]>
      </doc>
    </method>
    <method name="getPkgr" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPkgr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkgr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="numberOfEquivalenceClasses" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="key" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="numInputs" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pkgr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The package operator that packages
 the globally rearranged tuples into
 output format as required by co-group.
 This is last stage of processing co-group.
 This operator has a slightly different
 format than other operators in that, it
 takes two things as input. The key being
 worked on and the iterator of bags that
 contain indexed tuples that just need to
 be packaged into their appropriate output
 bags based on the index.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage.POPackageTupleBuffer -->
  <class name="POPackage.POPackageTupleBuffer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer"/>
    <constructor name="POPackageTupleBuffer" type="int, java.lang.Object, java.util.Iterator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="hasNextBatch" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="nextBatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTuples" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage.POPackageTupleBuffer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg -->
  <class name="POPartialAgg" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.impl.util.Spillable"/>
    <implements name="org.apache.pig.impl.util.GroupingSpillable"/>
    <constructor name="POPartialAgg" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPartialAgg" type="org.apache.pig.impl.plan.OperatorKey, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getKeyPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setKeyPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
    <method name="getValuePlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setValuePlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="valuePlans" type="java.util.List"/>
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[Do partial aggregation in map plan. Inputs are buffered up in
 a hashmap until a threshold is reached; then the combiner functions
 are fed these buffered up inputs, and results stored in a secondary
 map. Once that map fills up or all input has been seen, results are
 piped out into the next operator (caller of getNext()).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartitionRearrange -->
  <class name="POPartitionRearrange" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPartitionRearrange" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPartitionRearrange" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPartitionRearrange" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPartitionRearrange" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested
 physical plan. Converts the generated tuple into the proper
 format, i.e, (key,indexedTuple(value))]]>
      </doc>
    </method>
    <method name="constructPROutput" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[@param pigContext the pigContext to set]]>
      </doc>
    </method>
    <method name="getPigContext" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the pigContext]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartitionRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this operator.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The partition rearrange operator is a part of the skewed join
 implementation. It has an embedded physical plan that
 generates tuples of the form (inpKey,reducerIndex,(indxed inp Tuple)).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartitionRearrange -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample -->
  <class name="POPoissonSample" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPoissonSample" type="org.apache.pig.impl.plan.OperatorKey, int, int, float, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="updateSkipInterval"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Update the average tuple size base on newly sampled tuple t
 and recalculate skipInterval
 @param t - tuple]]>
      </doc>
    </method>
    <method name="createNumRowTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="sample" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param sample - sample tuple
 @return - Tuple appended with special marker string column, num-rows column
 @throws ExecException]]>
      </doc>
    </method>
    <field name="serialVersionUID" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_SAMPLE_RATE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sampleRate" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="heapPerc" type="float"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="totalMemory" type="java.lang.Long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="initialized" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="numSkipped" type="int"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="numRowsSampled" type="int"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="avgTupleMemSz" type="long"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="rowNum" type="long"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="skipInterval" type="long"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="memToSkipPerSample" type="long"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="numRowSplTupleReturned" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="newSample" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange -->
  <class name="POPreCombinerLocalRearrange" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPreCombinerLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPreCombinerLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPreCombinerLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPreCombinerLocalRearrange" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Overridden since the attachment of the new input should cause the old
 processing to end.]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested
 physical plan. Converts the generated tuple into the proper
 format, i.e, (key,indexedTuple(value))]]>
      </doc>
    </method>
    <method name="constructLROutput" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getKeyType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
    </method>
    <method name="getPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <field name="serialVersionUID" type="long"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plans" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="leafOps" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyType" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A specialized local rearrange operator which behaves
 like the regular local rearrange in the getNext()
 as far as getting its input and constructing the
 "key" out of the input. It then returns a tuple with
 two fields - the key in the first position and the
 "value" inside a bag in the second position. This output
 format resembles the format out of a Package. This output
 will feed to a foreach which expects this format.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank -->
  <class name="PORank" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PORank" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORank" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORank" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORank" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORank" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PORank" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="addRank" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Reads the output tuple from POCounter and the cumulative sum previously calculated.
 Here is read the task identifier in order to get the corresponding cumulative sum,
 and the local counter at the tuple. These values are summed and prepended to the tuple.
 @param input processed by POCounter
 @return input as Result. The input.result tuple owns the prepend rank value]]>
      </doc>
    </method>
    <method name="getRankCounterOffset" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="taskId" type="java.lang.Integer"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRankPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rankPlans" type="java.util.List"/>
    </method>
    <method name="getRankPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAscendingCols"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mAscCols" type="java.util.List"/>
    </method>
    <method name="getAscendingCols" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOperationID"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operationID" type="java.lang.String"/>
      <doc>
      <![CDATA[Operation ID: identifier shared within the corresponding POCounter
 @param operationID]]>
      </doc>
    </method>
    <method name="getOperationID" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[This operator is part of the RANK operator implementation.
 Reads the output tuple from POCounter and the cumulative sum previously calculated.
 Here is read the task identifier in order to get the corresponding cumulative sum,
 and the local counter at the tuple. These values are summed and prepended to the tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POReservoirSample -->
  <class name="POReservoirSample" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POReservoirSample" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POReservoirSample" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POReservoirSample" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POReservoirSample" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POReservoirSample" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="numSamples" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POReservoirSample -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin -->
  <class name="POSkewedJoin" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POSkewedJoin" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSkewedJoin" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSkewedJoin" type="org.apache.pig.impl.plan.OperatorKey, java.util.List, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSkewedJoin" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInnerFlags" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJoinPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setJoinPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="joinPlans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[The PhysicalOperator that represents a skewed join. It must have two inputs.
 This operator does not do any actually work, it is only a place holder. When it is
 translated into MR plan, a POSkewedJoin is translated into a sampling job and a join
 job.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort -->
  <class name="POSort" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POSort" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, java.util.List, org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSort" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSort" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSort" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSort" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isBlocking" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSortPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSortPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortPlans" type="java.util.List"/>
    </method>
    <method name="getMSortFunc" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMSortFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"/>
    </method>
    <method name="getMComparator" return="java.util.Comparator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMAscCols" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="long"/>
    </method>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimited" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <field name="isUDFComparatorUsed" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This implementation is applicable for both the physical plan and for the
 local backend, as the conversion of physical to mapreduce would see the SORT
 operator and take necessary steps to convert it to a quantile and a sort job.

 This is a blocking operator. The sortedDataBag accumulates Tuples and sorts
 them only when there an iterator is started. So all the tuples from the input
 operator should be accumulated and filled into the dataBag. The attachInput
 method is not applicable here.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort.SortComparator -->
  <class name="POSort.SortComparator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.Comparator"/>
    <implements name="java.io.Serializable"/>
    <constructor name="SortComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="org.apache.pig.data.Tuple"/>
      <param name="o2" type="org.apache.pig.data.Tuple"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort.SortComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort.UDFSortComparator -->
  <class name="POSort.UDFSortComparator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.Comparator"/>
    <implements name="java.io.Serializable"/>
    <constructor name="UDFSortComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="org.apache.pig.data.Tuple"/>
      <param name="t2" type="org.apache.pig.data.Tuple"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort.UDFSortComparator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSortedDistinct -->
  <class name="POSortedDistinct" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POSortedDistinct" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSortedDistinct" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSortedDistinct" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POSortedDistinct" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This operator is a variation of PODistinct, the input to this operator
 must be sorted already.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSortedDistinct -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit -->
  <class name="POSplit" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POSplit" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key
 @param k the operator key]]>
      </doc>
    </constructor>
    <constructor name="POSplit" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key
 and degree of parallelism
 @param k the operator key
 @param rp the degree of parallelism requested]]>
      </doc>
    </constructor>
    <constructor name="POSplit" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key and inputs
 @param k the operator key
 @param inp the inputs that this operator will read data from]]>
      </doc>
    </constructor>
    <constructor name="POSplit" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs an operator with the specified key,
 degree of parallelism and inputs
 @param k the operator key
 @param rp the degree of parallelism requested
 @param inp the inputs that this operator will read data from]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSplitStore" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the name of the file associated with this operator
 @return the FileSpec associated with this operator]]>
      </doc>
    </method>
    <method name="setSplitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitStore" type="org.apache.pig.impl.io.FileSpec"/>
      <doc>
      <![CDATA[Sets the name of the file associated with this operator
 @param splitStore the FileSpec used to store the data]]>
      </doc>
    </method>
    <method name="getPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of nested plans.
 @return the list of the nested plans
 @see org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PlanPrinter]]>
      </doc>
    </method>
    <method name="addPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[Appends the specified plan to the end of
 the nested input plan list
 @param inPlan plan to be appended to the list]]>
      </doc>
    </method>
    <method name="removePlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <doc>
      <![CDATA[Removes plan from
 the nested input plan list
 @param plan plan to be removed]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[The MapReduce Split operator.
 <p>
 The assumption here is that
 the logical to physical translation
 will create this dummy operator with
 just the filename using which the input
 branch will be stored and used for loading
 Also the translation should make sure that
 appropriate filter operators are configured
 as outputs of this operator using the conditions
 specified in the LOSplit. So LOSplit will be converted
 into:

     |        |           |
  Filter1  Filter2 ... Filter3
     |        |    ...    |
     |        |    ...    |
     ---- POSplit -... ----
 This is different than the existing implementation
 where the POSplit writes to sidefiles after filtering
 and then loads the appropriate file.
 <p>
 The approach followed here is as good as the old
 approach if not better in many cases because
 of the availability of attachinInputs. An optimization
 that can ensue is if there are multiple loads that
 load the same file, they can be merged into one and
 then the operators that take input from the load
 can be stored. This can be used when
 the mapPlan executes to read the file only once and
 attach the resulting tuple as inputs to all the
 operators that take input from this load.

 In some cases where the conditions are exclusive and
 some outputs are ignored, this approach can be worse.
 But this leads to easier management of the Split and
 also allows to reuse this data stored from the split
 job whenever necessary.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore -->
  <class name="POStore" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POStore" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POStore" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POStore" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set up the storer
 @throws IOException]]>
      </doc>
    </method>
    <method name="tearDown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Called at the end of processing for clean up.
 @throws IOException]]>
      </doc>
    </method>
    <method name="cleanUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To perform cleanup when there is an error.
 @throws IOException]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getSFile" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sFile" type="org.apache.pig.impl.io.FileSpec"/>
    </method>
    <method name="setInputSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lFile" type="org.apache.pig.impl.io.FileSpec"/>
    </method>
    <method name="getInputSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIsTmpStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tmp" type="boolean"/>
    </method>
    <method name="isTmpStore" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStoreImpl"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="impl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStoreImpl"/>
    </method>
    <method name="setSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStoreFunc" return="org.apache.pig.StoreFuncInterface"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStoreFuncDecorator" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.StoreFuncDecorator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return The {@link StoreFuncDecorator} used to write Tuples]]>
      </doc>
    </method>
    <method name="setSortInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortInfo" type="org.apache.pig.SortInfo"/>
      <doc>
      <![CDATA[@param sortInfo the sortInfo to set]]>
      </doc>
    </method>
    <method name="getSortInfo" return="org.apache.pig.SortInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the sortInfo]]>
      </doc>
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setMultiStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isMultiStore" type="boolean"/>
    </method>
    <method name="isMultiStore" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="setIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
    </method>
    <method name="getIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisableCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="disableCounter" type="boolean"/>
    </method>
    <method name="disableCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStoreFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="storeFunc" type="org.apache.pig.StoreFuncInterface"/>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCacheFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cf" type="java.util.List"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setShipFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sf" type="java.util.List"/>
    </method>
    <doc>
    <![CDATA[The store operator which is used in two ways:
 1) As a local operator it can be used to store files
 2) In the Map Reduce setting, it is used to create jobs
    from MapReduce operators which keep the loads and
    stores in the Map and Reduce Plans till the job is created]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStoreImpl -->
  <class name="POStoreImpl" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POStoreImpl"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createStoreFunc" return="org.apache.pig.StoreFuncInterface"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set up the storer 
 @param store - the POStore object
 @throws IOException]]>
      </doc>
    </method>
    <method name="tearDown"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[At the end of processing, the outputstream is closed
 using this method
 @throws IOException]]>
      </doc>
    </method>
    <method name="cleanUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[To perform cleanup when there is an error.
 Uses the FileLocalizer method which only 
 deletes the file but not the dirs created
 with it.
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class is used to specify the actual behavior of the store
 operator just when ready to start execution.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStoreImpl -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream -->
  <class name="POStream" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POStream" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.impl.streaming.ExecutableManager, org.apache.pig.impl.streaming.StreamingCommand, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getShipCacheProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCommand" return="org.apache.pig.impl.streaming.StreamingCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the {@link StreamingCommand} for this <code>StreamSpec</code>.
 @return the {@link StreamingCommand} for this <code>StreamSpec</code>]]>
      </doc>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getInitialized" return="boolean"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInitialized"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="initialized" type="boolean"/>
    </method>
    <method name="getNextHelper" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getBinaryInputQueue" return="java.util.concurrent.BlockingQueue"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the Queue which has input to binary]]>
      </doc>
    </method>
    <method name="getBinaryOutputQueue" return="java.util.concurrent.BlockingQueue"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the Queue which has output from binary]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="isFetchable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return true if streaming is done through fetching]]>
      </doc>
    </method>
    <method name="setFetchable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isFetchable" type="boolean"/>
      <doc>
      <![CDATA[@param isFetchable - whether fetching is applied on POStream]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <field name="binaryOutputQueue" type="java.util.concurrent.BlockingQueue"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="binaryInputQueue" type="java.util.concurrent.BlockingQueue"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="allInputFromPredecessorConsumed" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="allOutputFromBinaryProcessed" type="boolean"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion -->
  <class name="POUnion" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POUnion" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUnion" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUnion" type="org.apache.pig.impl.plan.OperatorKey, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POUnion" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.List"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clearDone"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[The code below, tries to follow our single threaded 
 shared execution model with execution being passed
 around each non-drained input]]>
      </doc>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <doc>
    <![CDATA[The union operator that combines the two inputs into a single
 stream. Note that this doesn't eliminate duplicate tuples.
 The Operator will also be added to every map plan which processes
 more than one input. This just pulls out data from the piepline
 using the proposed single threaded shared execution model. By shared
 execution I mean, one input to the Union operator is called
 once and the execution moves to the next non-drained input till
 all the inputs are drained.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.StoreFuncDecorator -->
  <class name="StoreFuncDecorator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StoreFuncDecorator" type="org.apache.pig.StoreFuncInterface, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Call {@code StoreFunc#putNext(Tuple)} and handle errors
 
 @param tuple
            the tuple to store.
 @throws IOException]]>
      </doc>
    </method>
    <method name="getStorer" return="org.apache.pig.StoreFuncInterface"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class is used to decorate the {@code StoreFunc#putNext(Tuple)}. It
 handles errors by calling
 {@code OutputErrorHandler#handle(String, long, Throwable)} if the
 {@link StoreFunc} implements {@link ErrorHandling}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.StoreFuncDecorator -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.physicalLayer.util">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.MonitoredUDFExecutor -->
  <class name="MonitoredUDFExecutor" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="MonitoredUDFExecutor" type="org.apache.pig.EvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="terminate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method *MUST* be called in the finish by POUserFunc.
 Though we do use an ExitingExecutorService just in case.]]>
      </doc>
    </method>
    <method name="monitorExec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[MonitoredUDF is used to watch execution of a UDF, and kill it if the UDF takes an
 exceedingly long time. Null is returned if the UDF times out.

 Optionally, UDFs can implement the provided interfaces to provide custom logic for
 handling errors and default values.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.MonitoredUDFExecutor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.MonitoredUDFExecutor.ErrorCallback -->
  <class name="MonitoredUDFExecutor.ErrorCallback" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ErrorCallback"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="handleError"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="evalFunc" type="org.apache.pig.EvalFunc"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="handleTimeout"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="evalFunc" type="org.apache.pig.EvalFunc"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <doc>
    <![CDATA[UDF authors can optionally extend this class and provide the class of their custom callbacks in the annotation
 to perform their own handling of errors and timeouts.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.MonitoredUDFExecutor.ErrorCallback -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.PlanHelper -->
  <class name="PlanHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="makeStoreTmpPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="orig" type="java.lang.String"/>
      <doc>
      <![CDATA[Creates a relative path that can be used to build a temporary
 place to store the output from a number of map-reduce tasks.]]>
      </doc>
    </method>
    <method name="containsPhysicalOperator" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="opClass" type="java.lang.Class"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getPhysicalOperators" return="java.util.LinkedList"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="opClass" type="java.lang.Class"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Returns a LinkedList of operators contained within the physical plan which implement the supplied class, in dependency order.
 Returns an empty LinkedList of no such operators exist.
 @param plan
 @param opClass
 @return a LinkedList of operators contained within the plan which implement the supplied class; empty if no such ops exist.
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="getLocalRearrangePlanFromSplit" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="rearrangeKey" type="org.apache.pig.impl.plan.OperatorKey"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Finds POLocalRearrange from POSplit sub-plan
 @param plan physical plan
 @param rearrangeKey operator key of the POLocalRearrange
 @return POLocalRearrange with the specified operator key which is in a sub-plan of POSplit
 @throws VisitorException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Utility class with a few helper functions to deal with physical plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.physicalLayer.util.PlanHelper -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.JobGraphBuilder -->
  <class name="JobGraphBuilder" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobGraphBuilder" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan, java.util.Map, org.apache.pig.tools.pigstats.spark.SparkPigStats, JavaSparkContext, org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener, java.lang.String, org.apache.hadoop.mapred.JobConf, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <field name="NULLPART_JOB_ID" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.JobGraphBuilder -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener -->
  <class name="JobMetricsListener" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobMetricsListener"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="onStageCompleted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stageCompleted" type="SparkListenerStageCompleted"/>
    </method>
    <method name="onStageSubmitted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stageSubmitted" type="SparkListenerStageSubmitted"/>
    </method>
    <method name="onTaskStart"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskStart" type="SparkListenerTaskStart"/>
    </method>
    <method name="onTaskGettingResult"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskGettingResult" type="SparkListenerTaskGettingResult"/>
    </method>
    <method name="onExecutorRemoved"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="executorRemoved" type="SparkListenerExecutorRemoved"/>
    </method>
    <method name="onExecutorAdded"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="executorAdded" type="SparkListenerExecutorAdded"/>
    </method>
    <method name="onBlockUpdated"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="blockUpdated" type="SparkListenerBlockUpdated"/>
    </method>
    <method name="onTaskEnd"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskEnd" type="SparkListenerTaskEnd"/>
    </method>
    <method name="onJobStart"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobStart" type="SparkListenerJobStart"/>
    </method>
    <method name="onJobEnd"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobEnd" type="SparkListenerJobEnd"/>
    </method>
    <method name="onEnvironmentUpdate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="environmentUpdate" type="SparkListenerEnvironmentUpdate"/>
    </method>
    <method name="onBlockManagerAdded"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="blockManagerAdded" type="SparkListenerBlockManagerAdded"/>
    </method>
    <method name="onBlockManagerRemoved"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="blockManagerRemoved" type="SparkListenerBlockManagerRemoved"/>
    </method>
    <method name="onUnpersistRDD"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="unpersistRDD" type="SparkListenerUnpersistRDD"/>
    </method>
    <method name="onApplicationStart"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="applicationStart" type="SparkListenerApplicationStart"/>
    </method>
    <method name="onApplicationEnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="applicationEnd" type="SparkListenerApplicationEnd"/>
    </method>
    <method name="onExecutorMetricsUpdate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="executorMetricsUpdate" type="SparkListenerExecutorMetricsUpdate"/>
    </method>
    <method name="getJobMetric" return="java.util.Map"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="int"/>
    </method>
    <method name="waitForJobToEnd" return="boolean"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="int"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="int"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.KryoSerializer -->
  <class name="KryoSerializer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KryoSerializer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="serializeJobConf" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobConf" type="org.apache.hadoop.mapred.JobConf"/>
    </method>
    <method name="deserializeJobConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buffer" type="byte[]"/>
    </method>
    <doc>
    <![CDATA[Pulled class from Hive on Spark]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.KryoSerializer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.MapReducePartitionerWrapper -->
  <class name="MapReducePartitionerWrapper" extends="Partitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapReducePartitionerWrapper" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="numPartitions" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
    <doc>
    <![CDATA[Spark Partitioner that wraps a custom partitioner that implements
 org.apache.hadoop.mapreduce.Partitioner interface.

 Since Spark's shuffle API takes a different parititioner class
 (@see org.apache.spark.Partitioner) compared to MapReduce, we need to
 wrap custom partitioners written for MapReduce inside this Spark Partitioner.

 MR Custom partitioners are expected to implement getPartition() with
 specific arguments:
   public int getPartition(PigNullableWritable key, Writable value, int numPartitions)
 For an example of such a partitioner,
 @see org.apache.pig.test.utils.SimpleCustomPartitioner]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.MapReducePartitionerWrapper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkEngineConf -->
  <class name="SparkEngineConf" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="SparkEngineConf"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setSparkUdfImportListStr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkUdfImportListStr" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[The object of SparkEngineConf is to solve the initialization problem of PigContext.properties.get("udf.import.list"),
 UDFContext#udfConfs, UDFContext#clientSysProps in spark mode. These variables can not be
 serialized because they are ThreadLocal variables. In MR mode, they are serialized in JobConfiguration
 in JobControlCompiler#getJob and deserialized by JobConfiguration in PigGenericMapBase#setup. But there is no
 setup() in spark like what in mr, so these variables can be correctly deserialized before spark programs call them.
 Here we use following solution to solve:
 these variables are saved in SparkEngineConf#writeObject and available and then initialized
 in SparkEngineConf#readObject in spark executor thread.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkEngineConf -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkExecType -->
  <class name="SparkExecType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ExecType"/>
    <constructor name="SparkExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getExecutionEngineClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkExecutionEngine -->
  <class name="SparkExecutionEngine" extends="org.apache.pig.backend.hadoop.executionengine.HExecutionEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkExecutionEngine" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="instantiateScriptState" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExecutableManager" return="org.apache.pig.impl.streaming.ExecutableManager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="instantiatePigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkExecutionEngine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher -->
  <class name="SparkLauncher" extends="org.apache.pig.backend.hadoop.executionengine.Launcher"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkLauncher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="physicalPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="physicalPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="killJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <doc>
    <![CDATA[Main class that launches pig for Spark]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType -->
  <class name="SparkLauncher.ResourceType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="JAR" type="org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILE" type="org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.ResourceType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkLocalExecType -->
  <class name="SparkLocalExecType" extends="org.apache.pig.backend.hadoop.executionengine.spark.SparkExecType"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkLocalExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[SparkLocalExecType is the ExecType for local mode in Spark.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkLocalExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigContext -->
  <class name="SparkPigContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.backend.hadoop.executionengine.spark.SparkPigContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDefaultParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="setDefaultParallelism"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="defaultParallelism" type="int"/>
    </method>
    <method name="getBroadcastedVars" return="java.util.concurrent.ConcurrentHashMap"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[singleton class like PigContext]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigContext -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigRecordReader -->
  <class name="SparkPigRecordReader" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPigRecordReader" type="org.apache.hadoop.mapreduce.InputFormat, org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit, org.apache.pig.LoadFunc, org.apache.hadoop.mapreduce.TaskAttemptContext, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[@param inputformat
 @param pigSplit
 @param loadFunc
 @param context
 @param limit]]>
      </doc>
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[Record reader for Spark mode - handles SparkPigSplit]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigRecordReader -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit -->
  <interface name="SparkPigSplit"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.Writable"/>
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <implements name="java.io.Serializable"/>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getLocationInfo" return="org.apache.hadoop.mapred.SplitLocationInfo[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLength" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getSplitIndex" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMultiInputs"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
    </method>
    <method name="isMultiInputs" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumPaths" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisableCounter"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="disableCounter" type="boolean"/>
    </method>
    <method name="disableCounter" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCurrentIdx"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getWrappedPigSplit" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Wrapper class for PigSplits in Spark mode

 Spark only counts HDFS bytes read if we provide a FileSplit, so we have to wrap PigSplits and have the wrapper
 class extend FileSplit]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit.FileSparkPigSplit -->
  <class name="SparkPigSplit.FileSparkPigSplit" extends="org.apache.hadoop.mapreduce.lib.input.FileSplit"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit"/>
    <constructor name="FileSparkPigSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Spark executor's deserializer calls this, and we have to instantiate a default wrapped object]]>
      </doc>
    </constructor>
    <constructor name="FileSparkPigSplit" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLocationInfo" return="org.apache.hadoop.mapred.SplitLocationInfo[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLocations" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="is" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="os" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSplitIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMultiInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
    </method>
    <method name="isMultiInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getNumPaths" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisableCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="disableCounter" type="boolean"/>
    </method>
    <method name="disableCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCurrentIdx"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getWrappedPigSplit" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPath" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit.FileSparkPigSplit -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit.GenericSparkPigSplit -->
  <class name="SparkPigSplit.GenericSparkPigSplit" extends="org.apache.hadoop.mapreduce.InputSplit"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit"/>
    <constructor name="GenericSparkPigSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Spark executor's deserializer calls this, and we have to instantiate a default wrapped object]]>
      </doc>
    </constructor>
    <constructor name="GenericSparkPigSplit" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLocationInfo" return="org.apache.hadoop.mapred.SplitLocationInfo[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getLocations" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWrappedSplit" return="org.apache.hadoop.mapreduce.InputSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="is" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="os" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSplitIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMultiInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
    </method>
    <method name="isMultiInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getNumPaths" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisableCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="disableCounter" type="boolean"/>
    </method>
    <method name="disableCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCurrentIdx"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
    </method>
    <method name="getWrappedPigSplit" return="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkPigSplit.GenericSparkPigSplit -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkPOUserFuncVisitor -->
  <class name="SparkPOUserFuncVisitor" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPOUserFuncVisitor" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getCacheFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getShipFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkPOUserFuncVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.SparkUtil -->
  <class name="SparkUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getManifest" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="clazz" type="java.lang.Class"/>
    </method>
    <method name="getTuple2Manifest" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProduct2Manifest" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="newJobConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="physicalPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="sparkEngineConf" type="org.apache.pig.backend.hadoop.executionengine.spark.SparkEngineConf"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toScalaSeq" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="list" type="java.util.List"/>
    </method>
    <method name="assertPredecessorSize"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="size" type="int"/>
    </method>
    <method name="assertPredecessorSizeGreaterThan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="size" type="int"/>
    </method>
    <method name="getPartitioner" return="Partitioner"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
      <param name="parallelism" type="int"/>
    </method>
    <method name="createIndexerSparkNode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="baseSparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.SparkUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.UDFJarsFinder -->
  <class name="UDFJarsFinder" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFJarsFinder" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getUdfJars" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.UDFJarsFinder -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.converter">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.BroadcastConverter -->
  <class name="BroadcastConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="BroadcastConverter" type="JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="po" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POBroadcastSpark"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.BroadcastConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.CollectedGroupConverter -->
  <class name="CollectedGroupConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="CollectedGroupConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.CollectedGroupConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.CounterConverter -->
  <class name="CounterConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="CounterConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poCounter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.CounterConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.DistinctConverter -->
  <class name="DistinctConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="DistinctConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.DistinctConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.FilterConverter -->
  <class name="FilterConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="FilterConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
    </method>
    <doc>
    <![CDATA[Converter that converts an RDD to a filtered RRD using POFilter]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.FilterConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.ForEachConverter -->
  <class name="ForEachConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="ForEachConverter" type="org.apache.hadoop.mapred.JobConf"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
    </method>
    <doc>
    <![CDATA[Convert that is able to convert an RRD to another RRD using a POForEach]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.ForEachConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.FRJoinConverter -->
  <class name="FRJoinConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="FRJoinConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poFRJoin" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setReplicatedInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="replicatedInputs" type="java.util.Set"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.FRJoinConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.GlobalRearrangeConverter -->
  <class name="GlobalRearrangeConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="GlobalRearrangeConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.POGlobalRearrangeSpark"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.GlobalRearrangeConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.IndexedKey -->
  <class name="IndexedKey" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Comparable"/>
    <constructor name="IndexedKey" type="byte, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getIndex" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getKey" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[If key is empty, we'd like compute equality based on key and index.
 If key is not empty, we'd like to compute equality based on just the key (like we normally do).
 There are two possible cases when two tuples are compared:
 1) Compare tuples of same table (same index)
 2) Compare tuples of different tables (different index values)
 In 1)
 key1    key2    equal?
 null    null      Y
 foo     null      N
 null    foo       N
 foo     foo       Y
 (1,1)   (1,1)     Y
 (1,)    (1,)      Y
 (1,2)   (1,2)     Y
 <p/>
 <p/>
 In 2)
 key1    key2    equal?
 null    null     N
 foo     null     N
 null    foo      N
 foo     foo      Y
 (1,1)   (1,1)    Y
 (1,)    (1,)     N
 (1,2)   (1,2)    Y

 @param o
 @return]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Calculate hashCode by index and key
 if key is empty, return index value
 if key is not empty, return the key.hashCode()]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
    <doc>
    <![CDATA[IndexedKey records the index and key info.
 This is used as key for JOINs. It addresses the case where key is
 either empty (or is a tuple with one or more empty fields). In this case,
 we must respect the SQL standard as documented in the equals() method.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.IndexedKey -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.JoinGroupSparkConverter -->
  <class name="JoinGroupSparkConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="JoinGroupSparkConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.POJoinGroupSpark"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.JoinGroupSparkConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.LimitConverter -->
  <class name="LimitConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="LimitConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poLimit" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.LimitConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.LoadConverter -->
  <class name="LoadConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="LoadConverter" type="org.apache.pig.impl.PigContext, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, SparkContext, org.apache.hadoop.mapred.JobConf, org.apache.pig.backend.hadoop.executionengine.spark.SparkEngineConf"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessorRdds" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Converter that loads data via POLoad and converts it to RRD&lt;Tuple>. Abuses
 the interface a bit in that there is no input RRD to convert in this case.
 Instead input is the source path of the POLoad.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.LoadConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.LocalRearrangeConverter -->
  <class name="LocalRearrangeConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="LocalRearrangeConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.LocalRearrangeConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.MergeCogroupConverter -->
  <class name="MergeCogroupConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="MergeCogroupConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.MergeCogroupConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.MergeJoinConverter -->
  <class name="MergeJoinConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="MergeJoinConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poMergeJoin" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.MergeJoinConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.PackageConverter -->
  <class name="PackageConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="PackageConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.PackageConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.PoissonSampleConverter -->
  <class name="PoissonSampleConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="PoissonSampleConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="po" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.POPoissonSampleSpark"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.PoissonSampleConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.RankConverter -->
  <class name="RankConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="RankConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poRank" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.RankConverter -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter -->
  <interface name="RDDConverter"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="convert" return="&lt;any&gt;"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rdd" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Given an RDD and a PhysicalOperater, and implementation of this class can
 convert the RDD to another RDD.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.ReduceByConverter -->
  <class name="ReduceByConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="ReduceByConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.POReduceBySpark"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.ReduceByConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.SecondaryKeySortUtil -->
  <class name="SecondaryKeySortUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SecondaryKeySortUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="handleSecondarySort" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rdd" type="&lt;any&gt;"/>
      <param name="pkgOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
    </method>
    <doc>
    <![CDATA[Provide utility functions which is used by ReducedByConverter and JoinGroupSparkConverter.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.SecondaryKeySortUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.SkewedJoinConverter -->
  <class name="SkewedJoinConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <implements name="java.io.Serializable"/>
    <constructor name="SkewedJoinConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setSkewedJoinPartitionFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFile" type="java.lang.String"/>
    </method>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poSkewedJoin" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.SkewedJoinConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.SortConverter -->
  <class name="SortConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="SortConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="sortOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.SortConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.SparkSampleSortConverter -->
  <class name="SparkSampleSortConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="SparkSampleSortConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="sortOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.POSampleSortSpark"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.SparkSampleSortConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.SplitConverter -->
  <class name="SplitConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="SplitConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poSplit" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.SplitConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.StoreConverter -->
  <class name="StoreConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="StoreConverter" type="org.apache.hadoop.mapred.JobConf"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Converter that takes a POStore and stores it's content.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.StoreConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.StreamConverter -->
  <class name="StreamConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="StreamConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="poStream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.StreamConverter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.converter.UnionConverter -->
  <class name="UnionConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.spark.converter.RDDConverter"/>
    <constructor name="UnionConverter" type="SparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convert" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
      <param name="physicalOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.converter.UnionConverter -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.operator">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.NativeSparkOperator -->
  <class name="NativeSparkOperator" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NativeSparkOperator" type="org.apache.pig.impl.plan.OperatorKey, java.lang.String, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="runJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
    </method>
    <method name="getCommandString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[NativeSparkOperator:]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.NativeSparkOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.POGlobalRearrangeSpark -->
  <class name="POGlobalRearrangeSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POGlobalRearrangeSpark" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="isUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getSecondarySortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
    <doc>
    <![CDATA[POGlobalRearrange for spark mode]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.POGlobalRearrangeSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.POJoinGroupSpark -->
  <class name="POJoinGroupSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POJoinGroupSpark" type="java.util.List, org.apache.pig.backend.hadoop.executionengine.spark.operator.POGlobalRearrangeSpark, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLROps" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getGROp" return="org.apache.pig.backend.hadoop.executionengine.spark.operator.POGlobalRearrangeSpark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPkgOp" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="setPredecessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="predecessors" type="java.util.List"/>
    </method>
    <method name="getPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Collapse POLocalRearrange,POGlobalRearrange and POPackage to POJoinGroupSpark to reduce unnecessary map operations in the join/group]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.POJoinGroupSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.POPoissonSampleSpark -->
  <class name="POPoissonSampleSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPoissonSample"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPoissonSampleSpark" type="org.apache.pig.impl.plan.OperatorKey, int, int, float, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isEndOfInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isEndOfInput" type="boolean"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.POPoissonSampleSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.POReduceBySpark -->
  <class name="POReduceBySpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POReduceBySpark" type="org.apache.pig.impl.plan.OperatorKey, int, java.util.List, java.util.List, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPKGOp" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFlatStr" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="isUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getSecondarySortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
    <method name="getCustomPartitioner" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCustomPartitioner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
    </method>
    <method name="getLROp" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[ReduceBy operator that maps to Sparks ReduceBy.
 Extends ForEach and adds packager, secondary sort and partitioner support.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.POReduceBySpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.operator.POSampleSortSpark -->
  <class name="POSampleSortSpark" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POSampleSortSpark" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.operator.POSampleSortSpark -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.optimizer">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.AccumulatorOptimizer -->
  <class name="AccumulatorOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumulatorOptimizer" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to optimize plans that determines if a vertex plan can run in
 accumulative mode.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.AccumulatorOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.CombinerOptimizer -->
  <class name="CombinerOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CombinerOptimizer" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[This class goes through the physical plan are replaces GlobalRearrange with ReduceBy
 where there are algebraic operations.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.CombinerOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.JoinGroupOptimizerSpark -->
  <class name="JoinGroupOptimizerSpark" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JoinGroupOptimizerSpark" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[Collapse LocalRearrange,GlobalRearrange,Package to POJoinGroupSpark to reduce unnecessary
 map operations to optimize join/group. Detail see PIG-4797]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.JoinGroupOptimizerSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.MultiQueryOptimizerSpark -->
  <class name="MultiQueryOptimizerSpark" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MultiQueryOptimizerSpark" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="addSubPlanPropertiesToParent"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parentOper" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="subPlanOper" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <doc>
    <![CDATA[MultiQueryOptimizer for spark]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.MultiQueryOptimizerSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.NoopFilterRemover -->
  <class name="NoopFilterRemover" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoopFilterRemover" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[For historical reasons splits will always produce filters that pass
 everything through unchanged. This optimizer removes these.
 <p/>
 The condition we look for is POFilters with a constant boolean
 (true) expression as it's plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.NoopFilterRemover -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.ParallelismSetter -->
  <class name="ParallelismSetter" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParallelismSetter" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan, org.apache.hadoop.mapred.JobConf"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.ParallelismSetter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.SecondaryKeyOptimizerSpark -->
  <class name="SecondaryKeyOptimizerSpark" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.optimizer.SecondaryKeyOptimizer"/>
    <constructor name="SecondaryKeyOptimizerSpark" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Secondary key sort optimization is enabled in group + foreach nested situation, like TestAccumlator#testAccumWithSort
 After calling SecondaryKeyOptimizerUtil.applySecondaryKeySort, the POSort in the POForeach will be deleted in the spark plan.
 Sort function can be implemented in secondary key sort even though POSort is deleted in the spark plan.

 @param sparkOperator
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="getNumSortRemoved" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumDistinctChanged" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumUseSecondaryKey" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Secondary key sort optimization for spark mode]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.SecondaryKeyOptimizerSpark -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.SparkSecondaryKeyOptimizerUtil -->
  <class name="SparkSecondaryKeyOptimizerUtil" extends="org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkSecondaryKeyOptimizerUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCurrentNode" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="root" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="reducePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.optimizer.SparkSecondaryKeyOptimizerUtil -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.plan">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter -->
  <class name="DotSparkPrinter" extends="org.apache.pig.impl.plan.DotPlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotSparkPrinter" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="makeDumper" return="org.apache.pig.impl.plan.DotPlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter.InnerPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <doc>
    <![CDATA[This class can print Spark plan in the DOT format. It uses
 clusters to illustrate nesting. If "verbose" is off, it will skip
 any nesting in the associated physical plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter.InnerOperator -->
  <class name="DotSparkPrinter.InnerOperator" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InnerOperator" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.impl.plan.PlanVisitor"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Helper class to represent the relationship of inner operators]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter.InnerOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter.InnerPlan -->
  <class name="DotSparkPrinter.InnerPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InnerPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[Each spark operator will have and an inner plan of inner
 operators. The inner operators contain the physical plan of the
 execution phase.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.DotSparkPrinter.InnerPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkCompiler -->
  <class name="SparkCompiler" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkCompiler" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getSparkPlan" return="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="connectSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[currently use regular join to replace skewedJoin
 Skewed join currently works with two-table inner join.
 More info about pig SkewedJoin, See https://wiki.apache.org/pig/PigSkewedJoinSpec

 @param op
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="joinOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[The compiler that compiles a given physical physicalPlan into a DAG of Spark
 operators]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkCompiler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkCompilerException -->
  <class name="SparkCompilerException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkCompilerException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="SparkCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new SparkCompilerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <doc>
    <![CDATA[Create a new SparkCompilerException with null as the error message.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkCompilerException -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator -->
  <class name="SparkOperator" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="physicalOper" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="addCrossKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="getCrossKeys" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isGroupBy" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markGroupBy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCogroup" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markCogroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRegularJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markRegularJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRequestedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSplitter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="boolean"/>
    </method>
    <method name="isSplitter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSampler" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSampler"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSkewedJoinPartitionFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="java.lang.String"/>
    </method>
    <method name="getSkewedJoinPartitionFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="usingTypedComparator" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="useTypedComparator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="useTypedComparator" type="boolean"/>
    </method>
    <method name="noCombineSmallSplits"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="combineSmallSplits" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isIndexer" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markIndexer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUnion" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isNative" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimit" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimitAfterSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markLimitAfterSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="copyFeatures"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="copyFrom" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="excludeFeatures" type="java.util.List"/>
    </method>
    <method name="isSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRequestedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requestedParallelism" type="int"/>
    </method>
    <method name="setRequestedParallelismByReference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oper" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="addMultiQueryOptimizeConnectionItem"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="to" type="org.apache.pig.impl.plan.OperatorKey"/>
      <param name="from" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="getMultiQueryOptimizeConnectionItem" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setGlobalSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="globalSort" type="boolean"/>
    </method>
    <method name="isGlobalSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="physicalPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDFs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="customPartitioner" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scalars" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="requestedParallelism" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An operator model for a Spark job. Acts as a host to the plans that will
 execute in spark.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan -->
  <class name="SparkOperPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A Plan used to create the physicalPlan of Spark Operators]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor -->
  <class name="SparkOpPlanVisitor" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkOpPlanVisitor" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor for the SparkOperPlan class]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkPOPackageAnnotator -->
  <class name="SparkPOPackageAnnotator" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPOPackageAnnotator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[This visitor visits the SparkPlan and does the following for each
 SparkOperator - visits the POPackage in the plan and finds the corresponding
 POLocalRearrange(s). It then annotates the POPackage with information about
 which columns in the "value" are present in the "key" and will need to
 stitched in to the "value"]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkPOPackageAnnotator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkPrinter -->
  <class name="SparkPrinter" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor mechanism printing out the logical plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.plan.XMLSparkPrinter -->
  <class name="XMLSparkPrinter" extends="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="XMLSparkPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParserConfigurationException" type="javax.xml.parsers.ParserConfigurationException"/>
    </constructor>
    <method name="closePlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="TransformerException" type="javax.xml.transform.TransformerException"/>
    </method>
    <method name="visitSparkOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="so" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.plan.XMLSparkPrinter -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.running">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.running.PigInputFormatSpark -->
  <class name="PigInputFormatSpark" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigInputFormatSpark"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getSplits" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobcontext" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[This is where we have to wrap PigSplits into SparkPigSplits
 @param jobcontext
 @return
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.running.PigInputFormatSpark -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.spark.streaming">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.spark.streaming.SparkExecutableManager -->
  <class name="SparkExecutableManager" extends="org.apache.pig.backend.hadoop.streaming.HadoopExecutableManager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkExecutableManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="writeErrorToHDFS" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="limit" type="int"/>
      <param name="taskId" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.spark.streaming.SparkExecutableManager -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezDagBuilder -->
  <class name="TezDagBuilder" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezDagBuilder" type="org.apache.pig.impl.PigContext, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, org.apache.tez.dag.api.DAG, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="shouldDisableDAGRecovery" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="avoidContainerReuseIfInputSplitInDisk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to construct DAG out of Tez plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezDagBuilder -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezExecType -->
  <class name="TezExecType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.ExecType"/>
    <constructor name="TezExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getExecutionEngineClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTezVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[TezExecType is the ExecType for distributed mode in Tez.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezExecutionEngine -->
  <class name="TezExecutionEngine" extends="org.apache.pig.backend.hadoop.executionengine.HExecutionEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezExecutionEngine" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="instantiateScriptState" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="instantiatePigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExecConf" return="org.apache.hadoop.mapred.JobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezExecutionEngine -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezJob -->
  <class name="TezJob" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Runnable"/>
    <constructor name="TezJob" type="org.apache.tez.dag.api.TezConfiguration, org.apache.tez.dag.api.DAG, java.util.Map, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getDAG" return="org.apache.tez.dag.api.DAG"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConfiguration" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getApplicationId" return="org.apache.hadoop.yarn.api.records.ApplicationId"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDAGStatus" return="org.apache.tez.dag.api.client.DAGStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDAGCounters" return="org.apache.tez.common.counters.TezCounters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDAGProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVertexProgress" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVertexStatus" return="org.apache.tez.dag.api.client.VertexStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexName" type="java.lang.String"/>
    </method>
    <method name="setPigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigStats" type="org.apache.pig.tools.pigstats.tez.TezPigScriptStats"/>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="killJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getDiagnostics" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Wrapper class that encapsulates Tez DAG. This class mediates between Tez DAGs
 and JobControl.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezJob -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezJobCompiler -->
  <class name="TezJobCompiler" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezJobCompiler" type="org.apache.pig.impl.PigContext, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="buildDAG" return="org.apache.tez.dag.api.DAG"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <param name="localResources" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="YarnException" type="org.apache.hadoop.yarn.exceptions.YarnException"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.tez.TezJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <param name="planContainer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"/>
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
    </method>
    <doc>
    <![CDATA[This is compiler class that takes a TezOperPlan and converts it into a
 JobControl object with the relevant dependency info maintained. The
 JobControl object is made up of TezJobs each of which has a JobConf.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezJobCompiler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezLauncher -->
  <class name="TezLauncher" extends="org.apache.pig.backend.hadoop.executionengine.Launcher"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezLauncher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="launchPig" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="grpName" type="java.lang.String"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="processLoadAndParallelism"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="kill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="killJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="BackendException" type="org.apache.pig.backend.BackendException"/>
    </method>
    <method name="destroy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Main class that launches pig for Tez]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezLauncher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezLocalExecType -->
  <class name="TezLocalExecType" extends="org.apache.pig.backend.hadoop.executionengine.tez.TezExecType"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezLocalExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[TezExecType is the ExecType for distributed mode in Tez.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezLocalExecType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezResourceManager -->
  <class name="TezResourceManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezResourceManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInstance" return="org.apache.pig.backend.hadoop.executionengine.tez.TezResourceManager"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="dropInstance"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method is only used by test code to reset state.]]>
      </doc>
    </method>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getResourcesDir" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addTezResource" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.net.URI"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addTezResource"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceName" type="java.lang.String"/>
      <param name="remoteFsPath" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addTezResources" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resources" type="java.util.Set"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="getTezResources" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceNames" type="java.util.Set"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <field name="resources" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezResourceManager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.TezSessionManager -->
  <class name="TezSessionManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="shutdown"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.TezSessionManager -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.plan">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezCompiler -->
  <class name="TezCompiler" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezCompiler" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="TezCompilerException" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezCompilerException"/>
    </constructor>
    <method name="getTezPlan" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPlanContainer" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="compile" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[The front-end method that the user calls to compile the plan. Assumes
 that all submitted plans have a Store operators as the leaf.
 @return A Tez plan
 @throws IOException
 @throws PlanException
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCross"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCross"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGlobalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POGlobalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="joinOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Since merge-join works on two inputs there are exactly two TezOper predecessors identified  as left and right.
  Right input generates index on-the-fly. This consists of two Tez vertexes. The first vertex generates index,
  and the second vertex sort them.
  Left input contains POMergeJoin which do the actual join.
  First right Tez oper is identified as rightTezOpr, second is identified as rightTezOpr2
  Left Tez oper is identified as curTezOper.

  1) RightTezOpr: It can be preceded only by POLoad. If there is anything else
                  in physical plan, that is yanked and set as inner plans of joinOp.
  2) LeftTezOper:  add the Join operator in it.

  We also need to segment the DAG into two, because POMergeJoin depends on the index file which loads with
  DefaultIndexableLoader. It is possible to convert the index as a broadcast input, but that is costly
  because a lot of logic is built into DefaultIndexableLoader. We can revisit it later.]]>
      </doc>
    </method>
    <method name="visitNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PONative"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getTempFileSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns a temporary DFS Path
 @return
 @throws IOException]]>
      </doc>
    </method>
    <method name="getSortCols" return="org.apache.pig.impl.util.Pair[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <field name="USER_COMPARATOR_MARKER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILE_CONCATENATION_THRESHOLD" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OPTIMISTIC_FILE_CONCATENATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The compiler that compiles a given physical plan into a DAG of Tez
 operators which can then be converted into the JobControl structure.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezCompiler -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezCompilerException -->
  <class name="TezCompilerException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezCompilerException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the
 <link>Throwable.getCause()</link> method) indicating the source of this
 exception. A null value is permitted, and indicates that the cause is
 nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param cause - The cause (which is saved for later retrieval by the
 <link>Throwable.getCause()</link> method) indicating the source of this
 exception. A null value is permitted, and indicates that the cause is
 nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param cause - The cause (which is saved for later retrieval by the
 <link>Throwable.getCause()</link> method) indicating the source of this
 exception. A null value is permitted, and indicates that the cause is
 nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the
 <link>Throwable.getCause()</link> method) indicating the source of this
 exception. A null value is permitted, and indicates that the cause is
 nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message, error code,
 error source, retriable or not, detalied message for the developer and
 cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="TezCompilerException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TezCompilerException with the specified message, error code,
 error source, retriable or not, detalied message for the developer and
 cause.

 @param message - The error message (which is saved for later retrieval by
 the <link>Throwable.getMessage()</link> method) shown to the user
 @param errCode - The error code shown to the user
 @param errSrc - The error source
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer
 @param cause - The cause (which is saved for later retrieval by the
 <link>Throwable.getCause()</link> method) indicating the source of this
 exception. A null value is permitted, and indicates that the cause is
 nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezCompilerException -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor -->
  <class name="TezEdgeDescriptor" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="TezEdgeDescriptor"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="needsDistinctCombiner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNeedsDistinctCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nic" type="boolean"/>
    </method>
    <method name="getCombinerInMap" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCombinerInMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="combinerInMap" type="java.lang.Boolean"/>
    </method>
    <method name="getCombinerInReducer" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCombinerInReducer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="combinerInReducer" type="java.lang.Boolean"/>
    </method>
    <method name="isUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getSecondarySortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
    <method name="getIntermediateOutputKeyClass" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIntermediateOutputKeyClass"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intermediateOutputKeyClass" type="java.lang.String"/>
    </method>
    <method name="getIntermediateOutputValueClass" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIntermediateOutputValueClass"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intermediateOutputValueClass" type="java.lang.String"/>
    </method>
    <method name="getIntermediateOutputKeyComparatorClass" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIntermediateOutputKeyComparatorClass"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intermediateOutputKeyComparatorClass" type="java.lang.String"/>
    </method>
    <field name="combinePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="inputClassName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="outputClassName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="schedulingType" type="org.apache.tez.dag.api.EdgeProperty.SchedulingType"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="dataSourceType" type="org.apache.tez.dag.api.EdgeProperty.DataSourceType"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="dataMovementType" type="org.apache.tez.dag.api.EdgeProperty.DataMovementType"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="partitionerClass" type="java.lang.Class"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Descriptor for Tez edge. It holds combine plan as well as edge properties.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator -->
  <class name="TezOperator" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezOperator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getProcessorName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRequestedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRequestedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requestedParallelism" type="int"/>
    </method>
    <method name="setRequestedParallelismByReference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="getEstimatedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEstimatedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="estimatedParallelism" type="int"/>
    </method>
    <method name="getEffectiveParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="defaultParallelism" type="int"/>
    </method>
    <method name="isDontEstimateParallelism" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDontEstimateParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dontEstimateParallelism" type="boolean"/>
    </method>
    <method name="isOverrideIntermediateParallelism" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOverrideIntermediateParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="overrideIntermediateParallelism" type="boolean"/>
    </method>
    <method name="getSplitParent" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSplitParent"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitParent" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="setSplitter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="boolean"/>
    </method>
    <method name="isSplitter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isClosed" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setClosed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="closed" type="boolean"/>
    </method>
    <method name="isIndexer" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markIndexer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSampler" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSampler"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSampleAggregation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSampleAggregation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSampleBasedPartitioner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSampleBasedPartitioner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isGlobalSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markGlobalSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isGroupBy" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markGroupBy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCogroup" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markCogroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRegularJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markRegularJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimit" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimitAfterSort" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markLimitAfterSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUnion" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isNative" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markNative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRankCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markRankCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isBuildBloom" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markBuildBloom"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isFilterBloom" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markFilterBloom"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="copyFeatures"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="copyFrom" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="excludeFeatures" type="java.util.List"/>
    </method>
    <method name="setNeedEstimatedQuantile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="needEstimateParallelism" type="boolean"/>
    </method>
    <method name="isNeedEstimateParallelism" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getUnionMembers" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVertexGroupMembers" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addUnionPredecessor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="unionPredecessor" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="setVertexGroupMembers"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexGroupMembers" type="java.util.List"/>
    </method>
    <method name="isVertexGroup" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getVertexGroupInfo" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.VertexGroupInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setVertexGroupInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexGroup" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.VertexGroupInfo"/>
    </method>
    <method name="addVertexGroupStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="storeKey" type="org.apache.pig.impl.plan.OperatorKey"/>
      <param name="vertexGroupKey" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="removeVertexGroupStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexGroupKey" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="getVertexGroupStores" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="needSegmentBelow" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortOrder" type="boolean[]"/>
    </method>
    <method name="getSortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSampleOperator" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSampleOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sampleOperator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="getSortOperator" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSortOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortOperator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="noCombineSmallSplits"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="combineSmallSplits" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addCrossKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="getCrossKeys" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUseMRMapSettings" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseMRMapSettings"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useMRMapSettings" type="boolean"/>
    </method>
    <method name="getVertexParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setVertexParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexParallelism" type="int"/>
    </method>
    <method name="getLoaderInfo" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.LoaderInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTotalInputFilesSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTotalInputFilesSize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="totalInputFilesSize" type="long"/>
    </method>
    <method name="setUseGraceParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useGraceParallelism" type="boolean"/>
    </method>
    <method name="isUseGraceParallelism" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParallelismFactor" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="successor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="isIntermediateReducer" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setIntermediateReducer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="intermediateReducer" type="java.lang.Boolean"/>
    </method>
    <field name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="outEdges" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="inEdges" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UDFs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scalars" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An operator model for a Tez job. Acts as a host to the plans that will
 execute in Tez vertices.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.LoaderInfo -->
  <class name="TezOperator.LoaderInfo" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="LoaderInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLoads" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLoads"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loads" type="java.util.List"/>
    </method>
    <method name="getInp" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inp" type="java.util.ArrayList"/>
    </method>
    <method name="getInpSignatureLists" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInpSignatureLists"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inpSignatureLists" type="java.util.ArrayList"/>
    </method>
    <method name="getInpLimits" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInpLimits"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inpLimits" type="java.util.ArrayList"/>
    </method>
    <method name="getInputSplitInfo" return="org.apache.tez.mapreduce.hadoop.InputSplitInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInputSplitInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSplitInfo" type="org.apache.tez.mapreduce.hadoop.InputSplitInfo"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.LoaderInfo -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE -->
  <class name="TezOperator.OPER_FEATURE" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="INDEXER" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SAMPLER" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SAMPLE_AGGREGATOR" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SAMPLE_BASED_PARTITIONER" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GLOBAL_SORT" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GROUPBY" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COGROUP" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="HASHJOIN" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SKEWEDJOIN" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LIMIT" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LIMIT_AFTER_SORT" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNION" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DISTINCT" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NATIVE" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RANK_COUNTER" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BUILDBLOOM" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILTERBLOOM" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.OPER_FEATURE -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.VertexGroupInfo -->
  <class name="TezOperator.VertexGroupInfo" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="VertexGroupInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="VertexGroupInfo" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="removeInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="getOutput" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="output" type="java.lang.String"/>
    </method>
    <method name="getStore" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStoreOutputDescriptor" return="org.apache.tez.dag.api.OutputDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStoreOutputDescriptor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="storeOutDescriptor" type="org.apache.tez.dag.api.OutputDescriptor"/>
    </method>
    <method name="getVertexGroup" return="org.apache.tez.dag.api.VertexGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setVertexGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexGroup" type="org.apache.tez.dag.api.VertexGroup"/>
    </method>
    <method name="setSFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sFile" type="org.apache.pig.impl.io.FileSpec"/>
    </method>
    <method name="getSFile" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator.VertexGroupInfo -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan -->
  <class name="TezOperPlan" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCredentials" return="org.apache.hadoop.security.Credentials"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEstimatedTotalParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEstimatedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="estimatedTotalParallelism" type="int"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addExtraResource"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="url" type="java.net.URL"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addExtraResource"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resourceName" type="java.lang.String"/>
      <param name="remoteFsPath" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getExtraResources" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="disconnect" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="moveTree"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="root" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="newPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Move everything below a given operator to the new operator plan.  The specified operator will
 be moved and will be the root of the new operator plan
 @param root Operator to move everything under including the root operator
 @param newPlan new operator plan to move things into
 @throws PlanException]]>
      </doc>
    </method>
    <method name="getGrandParentsForGraceParallelism" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <doc>
    <![CDATA[A Plan used to create the plan of Tez operators which can be converted into
 the Job Control object. This is necessary to capture the dependencies among
 jobs.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor -->
  <class name="TezOpPlanVisitor" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezOpPlanVisitor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOperator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor for the TezOperPlan class]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer -->
  <class name="TezPlanContainer" extends="org.apache.pig.impl.plan.OperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPlanContainer" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLocalResources" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="getNextPlan" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processedPlans" type="java.util.List"/>
    </method>
    <method name="addPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="updatePlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="succ" type="boolean"/>
    </method>
    <method name="split"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="planNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="resetScope"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode -->
  <class name="TezPlanContainerNode" extends="org.apache.pig.impl.plan.Operator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPlanContainerNode" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTezOperPlan" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerPrinter -->
  <class name="TezPlanContainerPrinter" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPlanContainerPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan tez plan to print]]>
      </doc>
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="visitTezPlanContainerNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanContainerNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerUDFCollector -->
  <class name="TezPlanContainerUDFCollector" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPlanContainerUDFCollector" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan tez plan to print]]>
      </doc>
    </constructor>
    <method name="visitTezPlanContainerNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanContainerNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getUdfs" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerUDFCollector -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor -->
  <class name="TezPlanContainerVisitor" extends="org.apache.pig.impl.plan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPlanContainerVisitor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezPlanContainerNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanContainerNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator -->
  <class name="TezPOPackageAnnotator" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPOPackageAnnotator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Tez plan to visit]]>
      </doc>
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A port of the POPackageAnnotator from MR to Tez.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator.LoRearrangeDiscoverer -->
  <class name="TezPOPackageAnnotator.LoRearrangeDiscoverer" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LoRearrangeDiscoverer" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lrearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getLoRearrangeFound" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the loRearrangeFound]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Physical Plan visitor which tries to get the
 LocalRearrange(s) present in the plan (if any) and
 annotate the POPackage given to it with the information
 in the LocalRearrange (regarding columns in the "value"
 present in the "key")]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOPackageAnnotator.LoRearrangeDiscoverer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOStreamVisitor -->
  <class name="TezPOStreamVisitor" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPOStreamVisitor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getCacheFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getShipFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOStreamVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOUserFuncVisitor -->
  <class name="TezPOUserFuncVisitor" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPOUserFuncVisitor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getCacheFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getShipFiles" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPOUserFuncVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter -->
  <class name="TezPrinter" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPrinter" type="java.io.PrintStream, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan tez plan to print]]>
      </doc>
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to print out the Tez plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter.TezDAGGraphPrinter -->
  <class name="TezPrinter.TezDAGGraphPrinter" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezDAGGraphPrinter" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezPlanContainerNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanContainerNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="writePlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"/>
      <param name="tezPlanContainerNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
      <param name="buf" type="java.lang.StringBuilder"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class prints the Tez DAG Graph]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter.TezDAGGraphPrinter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter.TezVertexGraphPrinter -->
  <class name="TezPrinter.TezVertexGraphPrinter" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezVertexGraphPrinter" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="writePlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="buf" type="java.lang.StringBuilder"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class prints the Tez Vertex Graph]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPrinter.TezVertexGraphPrinter -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.BloomPackager -->
  <class name="BloomPackager" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BloomPackager" type="boolean, int, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setBloomKeyType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyType" type="byte"/>
    </method>
    <method name="setCombiner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isCombiner" type="boolean"/>
    </method>
    <method name="attachInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="bags" type="org.apache.pig.data.DataBag[]"/>
      <param name="readOnce" type="boolean[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNext" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.BloomPackager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.NativeTezOper -->
  <class name="NativeTezOper" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NativeTezOper" type="org.apache.pig.impl.plan.OperatorKey, java.lang.String, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCommandString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="runJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobStatsKey" type="java.lang.String"/>
      <exception name="JobCreationException" type="org.apache.pig.backend.hadoop.executionengine.JobCreationException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.NativeTezOper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBloomFilterRearrangeTez -->
  <class name="POBloomFilterRearrangeTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="POBloomFilterRearrangeTez" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBloomFilterRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBloomFilterRearrangeTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBuildBloomRearrangeTez -->
  <class name="POBuildBloomRearrangeTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POBuildBloomRearrangeTez" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez, boolean, int, int, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNumBloomFilters" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="setSkipNullKeys"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="skipNullKeys" type="boolean"/>
    </method>
    <method name="setBloomOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bloomOutputKey" type="java.lang.String"/>
    </method>
    <method name="containsOutputKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBuildBloomRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="DEFAULT_BLOOM_STRATEGY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_NUM_BLOOM_FILTERS_REDUCE" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_NUM_BLOOM_HASH_FUNCTIONS" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_BLOOM_HASH_TYPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_BLOOM_VECTOR_SIZE_BYTES" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This operator writes out the key value for the hash join reduce operation similar to POLocalRearrangeTez.
 In addition, it also writes out the bloom filter constructed from the join keys
 in the case of bloomjoin map strategy or join keys themselves in case of reduce strategy.

 Using multiple bloom filters partitioned by the hash of the key allows for parallelism.
 It also allows us to have lower false positives with smaller vector sizes.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POBuildBloomRearrangeTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POCounterStatsTez -->
  <class name="POCounterStatsTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <constructor name="POCounterStatsTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="setOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[POCounterStatsTez is used to group counters from previous vertex POCounterTez tasks]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POCounterStatsTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POCounterTez -->
  <class name="POCounterTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable"/>
    <constructor name="POCounterTez" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorContext" type="org.apache.tez.runtime.api.ProcessorContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setTuplesOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuplesOutputKey" type="java.lang.String"/>
    </method>
    <method name="setStatsOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="statsOutputKey" type="java.lang.String"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="incrementReduceCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="increment" type="java.lang.Long"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POCounterTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POFRJoinTez -->
  <class name="POFRJoinTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="POFRJoinTez" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setUpHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Builds the HashMaps by reading replicated inputs from broadcast edges

 @throws ExecException]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputKeys" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POFRJoinTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[POFRJoinTez is used on the backend to load replicated table from Tez
 ShuffleUnorderedKVInput and load fragmented table from data pipeline.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POFRJoinTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POIdentityInOutTez -->
  <class name="POIdentityInOutTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <constructor name="POIdentityInOutTez" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[POIdentityInOutTez is used to pass through tuples as is to next vertex from
 previous vertex's POLocalRearrangeTez. For eg: In case of Order By, the
 partition vertex which just applies the WeightedRangePartitioner on the
 previous vertex data uses POIdentityInOutTez.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POIdentityInOutTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez -->
  <class name="POLocalRearrangeTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <constructor name="POLocalRearrangeTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrangeTez" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POLocalRearrangeTez" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="containsOutputKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="setOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="isConnectedToPackage" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConnectedToPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="connectedToPackage" type="boolean"/>
    </method>
    <method name="isSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isSkewedJoin" type="boolean"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getRearrangedTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="outputKey" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="connectedToPackage" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isSkewedJoin" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="writer" type="org.apache.tez.runtime.library.api.KeyValueWriter"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[POLocalRearrangeTez is used to write to a Tez OrderedPartitionedKVOutput
 (shuffle) or UnorderedKVOutput (broadcast)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory -->
  <class name="POLocalRearrangeTezFactory" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POLocalRearrangeTezFactory" type="java.lang.String, org.apache.pig.impl.plan.NodeIdGenerator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="create" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="create" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="create" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <param name="type" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="create" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="int"/>
      <param name="type" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"/>
      <param name="plans" type="java.util.List"/>
      <param name="keyType" type="byte"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType -->
  <class name="POLocalRearrangeTezFactory.LocalRearrangeType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="STAR" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NULL" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NORMAL" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="WITHPLAN" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTezFactory.LocalRearrangeType -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POPartitionRearrangeTez -->
  <class name="POPartitionRearrangeTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POLocalRearrangeTez"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POPartitionRearrangeTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POPartitionRearrangeTez" type="org.apache.pig.impl.plan.OperatorKey, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Calls getNext on the generate operator inside the nested physical plan.
 Converts the generated tuple into the proper format, i.e,
 (key,indexedTuple(value))]]>
      </doc>
    </method>
    <method name="constructPROutput" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="resLst" type="java.util.List"/>
      <param name="value" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="clone" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POPartitionRearrangeTez"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <doc>
    <![CDATA[The partition rearrange operator is a part of the skewed join implementation.
 It has an embedded physical plan that generates tuples of the form
 (inpKey,reducerIndex,(indxed inp Tuple)).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POPartitionRearrangeTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.PORankTez -->
  <class name="PORankTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="PORankTez" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setTuplesInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuplesInputKey" type="java.lang.String"/>
    </method>
    <method name="setStatsInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="statsInputKey" type="java.lang.String"/>
    </method>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getRankCounterOffset" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="taskId" type="java.lang.Integer"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.PORankTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POShuffledValueInputTez -->
  <class name="POShuffledValueInputTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="POShuffledValueInputTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="addInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[POShuffledValueInputTez is used read tuples from a Tez Intermediate output from a shuffle edge
 To be used with POValueOutputTez.
 TODO: To be removed after PIG-3775 and TEZ-661]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POShuffledValueInputTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POShuffleTezLoad -->
  <class name="POShuffleTezLoad" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="POShuffleTezLoad" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setInputKeys"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKeys" type="java.util.List"/>
    </method>
    <method name="addInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="setSkewedJoins"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isSkewedJoin" type="boolean"/>
    </method>
    <method name="isSkewedJoin" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="inputKeys" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POShuffleTezLoad -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POSimpleTezLoad -->
  <class name="POSimpleTezLoad" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable"/>
    <constructor name="POSimpleTezLoad" type="org.apache.pig.impl.plan.OperatorKey, org.apache.pig.LoadFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorContext" type="org.apache.tez.runtime.api.ProcessorContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Previously, we reused the same Result object for all results, but we found
 certain operators (e.g. POStream) save references to the Result object and
 expect it to be constant.]]>
      </doc>
    </method>
    <method name="setInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[POSimpleTezLoad is used on the backend to read tuples from a Tez MRInput]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POSimpleTezLoad -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POStoreTez -->
  <class name="POStoreTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable"/>
    <constructor name="POStoreTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="POStoreTez" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorContext" type="org.apache.tez.runtime.api.ProcessorContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[POStoreTez is used to write to a Tez MROutput]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POStoreTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueInputTez -->
  <class name="POValueInputTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="POValueInputTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setInputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[POValueInputTez is used read tuples from a Tez Intermediate output from a 1-1
 edge]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueInputTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueOutputTez -->
  <class name="POValueOutputTez" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput"/>
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable"/>
    <constructor name="POValueOutputTez" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isScalarOutput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setScalarOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scalarOutput" type="boolean"/>
    </method>
    <method name="isTaskIndexWithRecordIndexAsKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTaskIndexWithRecordIndexAsKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskIndexWithRecordIndexAsKey" type="boolean"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorContext" type="org.apache.tez.runtime.api.ProcessorContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="addOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="removeOutputKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="containsOutputKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputKey" type="java.lang.String"/>
    </method>
    <method name="getNextTuple" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.Result"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="name" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="EMPTY_KEY" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueOutputTez.EmptyWritable"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueOutputTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueOutputTez.EmptyWritable -->
  <class name="POValueOutputTez.EmptyWritable" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.Writable"/>
    <constructor name="EmptyWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.POValueOutputTez.EmptyWritable -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.AccumulatorOptimizer -->
  <class name="AccumulatorOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumulatorOptimizer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[A visitor to optimize plans that determines if a vertex plan can run in
 accumulative mode.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.AccumulatorOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.CombinerOptimizer -->
  <class name="CombinerOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CombinerOptimizer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="CombinerOptimizer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, boolean, org.apache.pig.impl.plan.CompilationMessageCollector"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getMessageCollector" return="org.apache.pig.impl.plan.CompilationMessageCollector"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[Optimize tez plans to use the combiner where possible.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.CombinerOptimizer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.LoaderProcessor -->
  <class name="LoaderProcessor" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LoaderProcessor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.LoaderProcessor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.MultiQueryOptimizerTez -->
  <class name="MultiQueryOptimizerTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MultiQueryOptimizerTez" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, boolean, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.MultiQueryOptimizerTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.NoopFilterRemover -->
  <class name="NoopFilterRemover" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NoopFilterRemover" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[For historical reasons splits will always produce filters that pass
 everything through unchanged. This optimizer removes these.

 The condition we look for is POFilters with a constant boolean
 (true) expression as it's plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.NoopFilterRemover -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.ParallelismSetter -->
  <class name="ParallelismSetter" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParallelismSetter" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getEstimatedTotalParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.ParallelismSetter -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.SecondaryKeyOptimizerTez -->
  <class name="SecondaryKeyOptimizerTez" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.optimizer.SecondaryKeyOptimizer"/>
    <constructor name="SecondaryKeyOptimizerTez" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getNumSortRemoved" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumDistinctChanged" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumUseSecondaryKey" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.SecondaryKeyOptimizerTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezEstimatedParallelismClearer -->
  <class name="TezEstimatedParallelismClearer" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezEstimatedParallelismClearer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezEstimatedParallelismClearer -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezOperDependencyParallelismEstimator -->
  <class name="TezOperDependencyParallelismEstimator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezParallelismEstimator"/>
    <constructor name="TezOperDependencyParallelismEstimator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="estimateParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Estimate the parallelism of the vertex using:
 1. parallelism of the predecessors
 2. bloating factor of the physical plan of the predecessor

 Since currently it is only possible to reduce the parallelism
 estimation is exaggerated and will rely on Tez runtime to
 decrease the parallelism]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezOperDependencyParallelismEstimator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezOperDependencyParallelismEstimator.TezParallelismFactorVisitor -->
  <class name="TezOperDependencyParallelismEstimator.TezParallelismFactorVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezParallelismFactorVisitor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator, org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lim" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getFactor" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezOperDependencyParallelismEstimator.TezParallelismFactorVisitor -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezParallelismEstimator -->
  <interface name="TezParallelismEstimator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="setPigContext"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="estimateParallelism" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.TezParallelismEstimator -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.UnionOptimizer -->
  <class name="UnionOptimizer" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnionOptimizer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isOptimizable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="isOptimizableStoreFunc" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="supportedStoreFuncs" type="java.util.List"/>
      <param name="unsupportedStoreFuncs" type="java.util.List"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="connectPredecessorsToVertexGroups"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="unionOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="pred" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="predClonedUnionPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="storeVertexGroupOps" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator[]"/>
      <param name="outputVertexGroupOps" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator[]"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Connects the unionOp predecessor to the store vertex groups and the output vertex groups
 and disconnects it from the unionOp.

 @param pred Predecessor of union which will be made part of the vertex group
 @param unionOp Union operator
 @param predClonedUnionPlan Cloned plan of the union merged to the predecessor
 @param storeVertexGroupOps Store vertex groups to connect to
 @param outputVertexGroupOps Tez LogicalOutput vertex groups to connect to]]>
      </doc>
    </method>
    <method name="getUnionPredPlanFromSplit" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="unionOpKey" type="java.lang.String"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[Optimizes union by removing the intermediate union vertex and making the
 successor get input from the predecessor vertices directly using VertexGroup.
 This should be run after MultiQueryOptimizer so that it handles cases like
 union followed by split and then store.

 For eg:
 1) Union followed by store
 Vertex 1 (Load), Vertex 2 (Load) -> Vertex 3 (Union + Store) will be optimized to
 Vertex 1 (Load + Store), Vertex 2 (Load + Store). Both the vertices will be writing output
 to same store location directly which is supported by Tez.
 2) Union followed by groupby
 Vertex 1 (Load), Vertex 2 (Load) -> Vertex 3 (Union + POLocalRearrange) -> Vertex 4 (Group by)
 will be optimized to Vertex 1 (Load + POLR), Vertex 2 (Load + POLR) -> Vertex 4 (Group by)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.optimizer.UnionOptimizer -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.plan.udf">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.FindQuantilesTez -->
  <class name="FindQuantilesTez" extends="org.apache.pig.impl.builtin.FindQuantiles"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FindQuantilesTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FindQuantilesTez" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.FindQuantilesTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.IsFirstReduceOfKeyTez -->
  <class name="IsFirstReduceOfKeyTez" extends="org.apache.pig.impl.builtin.IsFirstReduceOfKey"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IsFirstReduceOfKeyTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.IsFirstReduceOfKeyTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.PartitionSkewedKeysTez -->
  <class name="PartitionSkewedKeysTez" extends="org.apache.pig.impl.builtin.PartitionSkewedKeys"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionSkewedKeysTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PartitionSkewedKeysTez" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.PartitionSkewedKeysTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez -->
  <class name="ReadScalarsTez" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput"/>
    <constructor name="ReadScalarsTez" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
    </method>
    <method name="attachInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.runtime">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.HashValuePartitioner -->
  <class name="HashValuePartitioner" extends="org.apache.hadoop.mapreduce.Partitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HashValuePartitioner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.Writable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.HashValuePartitioner -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.ObjectCache -->
  <class name="ObjectCache" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getInstance" return="org.apache.pig.backend.hadoop.executionengine.tez.runtime.ObjectCache"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getObjectRegistry" return="org.apache.tez.runtime.api.ObjectRegistry"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the tez ObjectRegistry which allows caching of objects at the
 Session, DAG and Vertex level on container reuse for better performance
 and savings]]>
      </doc>
    </method>
    <method name="cache"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.Object"/>
      <doc>
      <![CDATA[Convenience method to cache objects in ObjectRegistry for a vertex]]>
      </doc>
    </method>
    <method name="retrieve" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <doc>
      <![CDATA[Convenience method to retrieve objects cached for the vertex from ObjectRegistry]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.ObjectCache -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PartitionerDefinedVertexManager -->
  <class name="PartitionerDefinedVertexManager" extends="org.apache.tez.dag.api.VertexManagerPlugin"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionerDefinedVertexManager" type="org.apache.tez.dag.api.VertexManagerPluginContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="onVertexStateUpdated"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stateUpdate" type="org.apache.tez.dag.api.event.VertexStateUpdate"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="onRootVertexInitialized"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputName" type="java.lang.String"/>
      <param name="inputDescriptor" type="org.apache.tez.dag.api.InputDescriptor"/>
      <param name="events" type="java.util.List"/>
    </method>
    <method name="onSourceTaskCompleted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="srcVertexName" type="java.lang.String"/>
      <param name="srcTaskId" type="java.lang.Integer"/>
    </method>
    <method name="onVertexManagerEventReceived"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vmEvent" type="org.apache.tez.runtime.api.events.VertexManagerEvent"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="onVertexStarted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="completions" type="java.util.Map"/>
    </method>
    <doc>
    <![CDATA[VertexManagerPlugin used by sorting job of order by and skewed join.
 What is does is to set parallelism of the sorting vertex
 according to numParallelism specified by the predecessor vertex.
 The complex part is the PigOrderByEdgeManager, which specify how
 partition in the previous setting routes to the new vertex setting]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PartitionerDefinedVertexManager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigGraceShuffleVertexManager -->
  <class name="PigGraceShuffleVertexManager" extends="org.apache.tez.dag.library.vertexmanager.ShuffleVertexManager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigGraceShuffleVertexManager" type="org.apache.tez.dag.api.VertexManagerPluginContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="onVertexStateUpdated"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stateUpdate" type="org.apache.tez.dag.api.event.VertexStateUpdate"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigGraceShuffleVertexManager -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigInputFormatTez -->
  <class name="PigInputFormatTez" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigInputFormatTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigInputFormatTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigOutputFormatTez -->
  <class name="PigOutputFormatTez" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigOutputFormatTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskattemptcontext" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getOutputCommitter" return="org.apache.hadoop.mapreduce.OutputCommitter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="taskattemptcontext" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="resetUDFContextForThreadReuse"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigOutputFormatTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigOutputFormatTez.PigOutputCommitterTez -->
  <class name="PigOutputFormatTez.PigOutputCommitterTez" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigOutputCommitterTez" type="org.apache.hadoop.mapreduce.TaskAttemptContext, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="setupJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="commitJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="abortJob"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <param name="state" type="org.apache.hadoop.mapreduce.JobStatus.State"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigOutputFormatTez.PigOutputCommitterTez -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor -->
  <class name="PigProcessor" extends="org.apache.tez.runtime.api.AbstractLogicalIOProcessor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigProcessor" type="org.apache.tez.runtime.api.ProcessorContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="handleEvents"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorEvents" type="java.util.List"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="outputs" type="java.util.Map"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="runPipeline"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="leaf" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="PLAN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COMBINE_PLAN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ESTIMATE_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ESTIMATED_NUM_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SAMPLE_VERTEX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SORT_VERTEX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sampleVertex" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sampleMap" type="java.util.Map"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.PigProcessor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.SkewedPartitionerTez -->
  <class name="SkewedPartitionerTez" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.SkewedPartitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SkewedPartitionerTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.SkewedPartitionerTez -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput -->
  <interface name="TezInput"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getTezInputs" return="java.lang.String[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceInput"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
    </method>
    <method name="addInputsToSkip"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputsToSkip" type="java.util.Set"/>
      <doc>
      <![CDATA[Add to the list of inputs to skip download if already available in vertex cache

 @param inputsToSkip]]>
      </doc>
    </method>
    <method name="attachInputs"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Attach the inputs to the operator. Also ensure reader.next() is called to force fetch
 the input so that all inputs are fetched and memory released before memory is allocated
 for outputs

 @param inputs available inputs
 @param conf configuration
 @throws ExecException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface is implemented by PhysicalOperators that can have Tez inputs
 attached directly to the operator.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezInput -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput -->
  <interface name="TezOutput"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getTezOutputs" return="java.lang.String[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replaceOutput"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
    </method>
    <method name="attachOutputs"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputs" type="java.util.Map"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[This interface is implemented by PhysicalOperators that can have Tez outputs
 attached directly to the operator.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezOutput -->
  <!-- start interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable -->
  <interface name="TezTaskConfigurable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="initialize"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="processorContext" type="org.apache.tez.runtime.api.ProcessorContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <doc>
    <![CDATA[This interface is implemented by PhysicalOperators that can need to access
 TezProcessorContext of a Tez task.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskConfigurable -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskContext -->
  <class name="TezTaskContext" extends="org.apache.pig.backend.hadoop.executionengine.TaskContext"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezTaskContext" type="org.apache.tez.runtime.api.ProcessorContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.tez.runtime.api.ProcessorContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="delta" type="long"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="delta" type="long"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.TezTaskContext -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.runtime.WeightedRangePartitionerTez -->
  <class name="WeightedRangePartitionerTez" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.partitioners.WeightedRangePartitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="WeightedRangePartitionerTez"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.impl.io.PigNullableWritable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.runtime.WeightedRangePartitionerTez -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.tez.util">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.util.MRToTezHelper -->
  <class name="MRToTezHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="translateMRSettingsForTezAM"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagAMConf" type="org.apache.tez.dag.api.TezConfiguration"/>
    </method>
    <method name="setVertexConfig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertex" type="org.apache.tez.dag.api.Vertex"/>
      <param name="isMapVertex" type="boolean"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Set config with Scope.Vertex in TezConfiguration on the vertex

 @param vertex Vertex on which config is to be set
 @param isMapVertex Whether map or reduce vertex. i.e root or intermediate/leaf vertex
 @param conf Config that contains the tez or equivalent mapreduce settings.]]>
      </doc>
    </method>
    <method name="processMRSettings"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezConf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="mrConf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Process the mapreduce configuration settings and
    - copy as is the still required ones (like those used by FileInputFormat/FileOutputFormat)
    - convert and set equivalent tez runtime settings
    - handle compression related settings

 @param tezConf Configuration on which the mapreduce settings will have to be transferred
 @param mrConf Configuration that contains mapreduce settings]]>
      </doc>
    </method>
    <method name="writeInputSplitInfoToDisk" return="org.apache.tez.mapreduce.hadoop.InputSplitInfoDisk"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="infoMem" type="org.apache.tez.mapreduce.hadoop.InputSplitInfoMem"/>
      <param name="inputSplitsDir" type="org.apache.hadoop.fs.Path"/>
      <param name="jobConf" type="org.apache.hadoop.mapred.JobConf"/>
      <param name="fs" type="org.apache.hadoop.fs.FileSystem"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Write input splits (job.split and job.splitmetainfo) to disk]]>
      </doc>
    </method>
    <method name="updateLocalResourcesForInputSplits"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.hadoop.fs.FileSystem"/>
      <param name="inputSplitInfo" type="org.apache.tez.mapreduce.hadoop.InputSplitInfo"/>
      <param name="localResources" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Exact copy of private method from from org.apache.tez.mapreduce.hadoop.MRInputHelpers

 Update provided localResources collection with the required local
 resources needed by MapReduce tasks with respect to Input splits.

 @param fs Filesystem instance to access status of splits related files
 @param inputSplitInfo Information on location of split files
 @param localResources LocalResources collection to be updated
 @throws IOException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.util.MRToTezHelper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.util.SecurityHelper -->
  <class name="SecurityHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="populateTokenCache"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="credentials" type="org.apache.hadoop.security.Credentials"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class duplicates some security related private methods from
 org.apache.hadoop.mapreduce.JobSubmitter for Tez.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.util.SecurityHelper -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.util.TezCompilerUtil -->
  <class name="TezCompilerUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="simpleConnectTwoVertex"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="op1" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="op2" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="connect" return="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="from" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="from" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="edge" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="connectTezOpToNewPredecessor"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="newPredecessor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="edge" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor"/>
      <param name="oldInputKey" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="replaceInput"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="oldInputKey" type="java.lang.String"/>
      <param name="newInputKey" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="connectTezOpToNewSuccesor"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="newSuccessor" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="edge" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor"/>
      <param name="oldOutputKey" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="replaceOutput"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="oldOutputKey" type="java.lang.String"/>
      <param name="newOutputKey" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="isNonPackageInput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputKey" type="java.lang.String"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="getForEach" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <param name="rp" type="int"/>
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
    </method>
    <method name="getForEachPlain" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
    </method>
    <method name="getStore" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <param name="nig" type="org.apache.pig.impl.plan.NodeIdGenerator"/>
    </method>
    <method name="setCustomPartitioner"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="configureValueOnlyTupleOutput"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="edge" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezEdgeDescriptor"/>
      <param name="dataMovementType" type="org.apache.tez.dag.api.EdgeProperty.DataMovementType"/>
    </method>
    <method name="bagDataTypeInCombinePlan" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="combinePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <field name="TUPLE_CLASS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.util.TezCompilerUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.util.TezRuntimeUtil -->
  <class name="TezRuntimeUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezRuntimeUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="readReduceMapFromSample" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tf" type="org.apache.pig.data.TupleFactory"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.util.TezRuntimeUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.tez.util.TezUDFContextSeparator -->
  <class name="TezUDFContextSeparator" extends="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOpPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezUDFContextSeparator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitTezOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOperator" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="serializeUDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="serializeUDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="udfType" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="serializeUDFContextForEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="from" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="to" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="udfType" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="serializeUDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.tez.util.TezUDFContextSeparator -->
</package>
<package name="org.apache.pig.backend.hadoop.executionengine.util">
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.AccumulatorOptimizerUtil -->
  <class name="AccumulatorOptimizerUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AccumulatorOptimizerUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAccumulativeBatchSize" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addAccumulator"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pos" type="java.util.List"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.AccumulatorOptimizerUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil -->
  <class name="CombinerOptimizerUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="addCombiner"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="reducePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="combinePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="messageCollector" type="org.apache.pig.impl.plan.CompilationMessageCollector"/>
      <param name="doMapAgg" type="boolean"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Algebraic functions and distinct in nested plan of a foreach are
 partially computed in the map and combine phase. A new foreach statement
 with initial and intermediate forms of algebraic functions are added to
 map and combine plans respectively.

 If bag portion of group-by result is projected or a non algebraic
 expression/udf has bag as input, combiner will not be used. This is
 because the use of combiner in such case is likely to degrade performance
 as there will not be much reduction in data size in combine stage to
 offset the cost of the additional number of times (de)serialization is
 done.

 Major areas for enhancement:
 1. use of combiner in cogroup
 2. queries with order-by, limit or sort in a nested foreach after group-by
 3. case where group-by is followed by filter that has algebraic expression]]>
      </doc>
    </method>
    <method name="findAlgebraicOps" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="feInners" type="java.util.List"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[find algebraic operators and also check if the foreach statement is
 suitable for combiner use
 @param feInners inner plans of foreach
 @return null if plan is not combinable, otherwise list of combinable operators
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="createForEachWithGrpProj" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <param name="keyType" type="byte"/>
      <doc>
      <![CDATA[Create a new foreach with same scope,alias as given foreach
 add an inner plan that projects the group column, which is going to be
 the first input
 @param foreach source foreach
 @param keyType type for group-by key
 @return new POForeach]]>
      </doc>
    </method>
    <method name="createPlanWithPredecessors" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="algeOp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="pplan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Create new plan and  add to it the clones of operator algeOp  and its
 predecessors from the physical plan pplan .
 @param algeOp algebraic operator
 @param pplan physical plan that has algeOp
 @return new plan
 @throws CloneNotSupportedException
 @throws PlanException]]>
      </doc>
    </method>
    <method name="addAlgebraicFuncToCombineFE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <param name="op2newpos" type="java.util.Map"/>
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[add algebraic functions with appropriate projection to new foreach in combiner
 @param cfe - the new foreach in combiner
 @param op2newpos - mapping of physical operator to position in input
 @throws CloneNotSupportedException
 @throws PlanException]]>
      </doc>
    </method>
    <method name="getPreCombinerLR" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPreCombinerLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <doc>
      <![CDATA[@param rearrange
 @return]]>
      </doc>
    </method>
    <method name="createOperatorKey" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
    </method>
    <method name="changeFunc"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <param name="type" type="byte"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Change the algebriac function type for algebraic functions in map and combine
 In map and combine the algebraic functions will be leaf of the plan
 @param fe
 @param type
 @throws PlanException]]>
      </doc>
    </method>
    <method name="getNewRearrange" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rearrange" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[create new Local rearrange by cloning existing rearrange and
 add plan for projecting the key
 @param rearrange
 @return
 @throws PlanException
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil.DistinctPatcher -->
  <class name="CombinerOptimizerUtil.DistinctPatcher" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DistinctPatcher" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan
 @param walker]]>
      </doc>
    </constructor>
    <constructor name="DistinctPatcher" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param physicalPlan]]>
      </doc>
    </constructor>
    <method name="visitProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="proj" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getDistinct" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A visitor to replace
 Project[bag][*]
  |
  |---PODistinct[bag]
 with
 POUserFunc(org.apache.pig.builtin.Distinct)[DataBag]]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil.DistinctPatcher -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil.fixMapProjects -->
  <class name="CombinerOptimizerUtil.fixMapProjects" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="fixMapProjects" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="fixMapProjects" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan
 @param walker]]>
      </doc>
    </constructor>
    <method name="visitProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="proj" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.CombinerOptimizerUtil.fixMapProjects -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil -->
  <class name="MapRedUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapRedUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="loadPartitionFileFromLocalCache" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keyDistFile" type="java.lang.String"/>
      <param name="totalReducers" type="java.lang.Integer[]"/>
      <param name="keyType" type="byte"/>
      <param name="mapConf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Loads the key distribution sampler file

 @param keyDistFile the name for the distribution file
 @param totalReducers gets set to the total number of reducers as found in the dist file
 @param keyType Type of the key to be stored in the return map. It currently treats Tuple as a special case.]]>
      </doc>
    </method>
    <method name="copyTmpFileConfigurationValues"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fromConf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="toConf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="setupUDFContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setupStreamingDirsConfSingle"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Sets up output and log dir paths for a single-store streaming job

 @param st - POStore of the current job
 @param pigContext
 @param conf
 @throws IOException]]>
      </doc>
    </method>
    <method name="setupStreamingDirsConfMulti"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Sets up output and log dir paths for a multi-store streaming job

 @param pigContext
 @param conf
 @throws IOException]]>
      </doc>
    </method>
    <method name="checkLeafIsStore" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getAllFileRecursively" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="files" type="java.util.List"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get all files recursively from the given list of files

 @param files a list of FileStatus
 @param conf the configuration object
 @return the list of fileStatus that contains all the files in the given
         list and, recursively, all the files inside the directories in
         the given list
 @throws IOException]]>
      </doc>
    </method>
    <method name="getPathLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.hadoop.fs.FileSystem"/>
      <param name="status" type="org.apache.hadoop.fs.FileStatus"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPathLength" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.hadoop.fs.FileSystem"/>
      <param name="status" type="org.apache.hadoop.fs.FileStatus"/>
      <param name="max" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the total number of bytes for this file, or if a directory all
 files in the directory.

 @param fs FileSystem
 @param status FileStatus
 @param max Maximum value of total length that will trigger exit. Many
 times we're only interested whether the total length of files is greater
 than X or not. In such case, we can exit the function early as soon as
 the max is reached.
 @return
 @throws IOException]]>
      </doc>
    </method>
    <method name="getCombinePigSplits" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oneInputSplits" type="java.util.List"/>
      <param name="maxCombinedSplitSize" type="long"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="inputSplitToString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splits" type="org.apache.hadoop.mapreduce.InputSplit[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="FILE_SYSTEM_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A class of utility static methods to be used in the hadoop map reduce backend]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.MapRedUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.ParallelConstantVisitor -->
  <class name="ParallelConstantVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParallelConstantVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitConstant"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cnst" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.ConstantExpression"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.ParallelConstantVisitor -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil -->
  <class name="SecondaryKeyOptimizerUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SecondaryKeyOptimizerUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="applySecondaryKeySort" return="org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil.SecondaryKeyOptimizerInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="reducePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="getCurrentNode" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="root" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
      <param name="reducePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil -->
  <!-- start class org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil.SecondaryKeyOptimizerInfo -->
  <class name="SecondaryKeyOptimizerUtil.SecondaryKeyOptimizerInfo" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SecondaryKeyOptimizerInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNumSortRemoved" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="incrementNumSortRemoved"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumDistinctChanged" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="incrementNumDistinctChanged"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumUseSecondaryKey" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="incrementNumUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUseSecondaryKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUseSecondaryKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="useSecondaryKey" type="boolean"/>
    </method>
    <method name="getSecondarySortOrder" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSecondarySortOrder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="secondarySortOrder" type="boolean[]"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.executionengine.util.SecondaryKeyOptimizerUtil.SecondaryKeyOptimizerInfo -->
</package>
<package name="org.apache.pig.backend.hadoop.hbase">
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseBinaryConverter -->
  <class name="HBaseBinaryConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadStoreCaster"/>
    <constructor name="HBaseBinaryConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[NOT IMPLEMENTED]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Not implemented!]]>
      </doc>
    </method>
    <method name="bytesToBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Not implemented!]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bi" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Not implemented!]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bd" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Not implemented!]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseBinaryConverter -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseStorage -->
  <class name="HBaseStorage" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadPushDown"/>
    <implements name="org.apache.pig.OrderedLoadFunc"/>
    <implements name="org.apache.pig.StoreResources"/>
    <implements name="org.apache.pig.CollectableLoadFunc"/>
    <constructor name="HBaseStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Constructor. Construct a HBase Table LoadFunc and StoreFunc to load or store the cells of the
 provided columns.

 @param columnList
        columnlist that is a presented string delimited by space and/or
        commas. To retreive all columns in a column family <code>Foo</code>,
        specify a column as either <code>Foo:</code> or <code>Foo:*</code>.
        To fetch only columns in the CF that start with <I>bar</I>, specify
        <code>Foo:bar*</code>. The resulting tuple will always be the size
        of the number of tokens in <code>columnList</code>. Items in the
        tuple will be scalar values when a full column descriptor is
        specified, or a map of column descriptors to values when a column
        family is specified.

 @throws ParseException when unable to parse arguments
 @throws IOException]]>
      </doc>
    </constructor>
    <constructor name="HBaseStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="org.apache.commons.cli.ParseException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Constructor. Construct a HBase Table LoadFunc and StoreFunc to load or store.
 @param columnList
 @param optString Loader options. Known options:<ul>
 <li>-loadKey=(true|false)  Load the row key as the first column
 <li>-gt=minKeyVal
 <li>-lt=maxKeyVal
 <li>-gte=minKeyVal
 <li>-lte=maxKeyVal
 <li>-regex=match regex on KeyVal
 <li>-limit=numRowsPerRegion max number of rows to retrieve per region
 <li>-maxResultsPerColumnFamily= Limit the maximum number of values returned per row per column family
 <li>-delim=char delimiter to use when parsing column names (default is space or comma)
 <li>-ignoreWhitespace=(true|false) ignore spaces when parsing column names (default true)
 <li>-cacheBlocks=(true|false) Set whether blocks should be cached for the scan (default false).
 <li>-caching=numRows  number of rows to cache (faster scans, more memory).
 <li>-noWAL=(true|false) Sets the write ahead to false for faster loading.
 <li>-minTimestamp= Scan's timestamp for min timeRange
 <li>-maxTimestamp= Scan's timestamp for max timeRange
 <li>-timestamp= Scan's specified timestamp
 <li>-includeTimestamp= Record will include the timestamp after the rowkey on store (rowkey, timestamp, ...)
 <li>-includeTombstone= Record will include a tombstone marker on store after the rowKey and timestamp (if included) (rowkey, [timestamp,] tombstone, ...)
 <li>-caster=(HBaseBinaryConverter|Utf8StorageConverter) Utf8StorageConverter is the default
 To be used with extreme caution, since this could result in data loss
 (see http://hbase.apache.org/book.html#perf.hbase.client.putwal).
 </ul>
 @throws ParseException
 @throws IOException]]>
      </doc>
    </constructor>
    <method name="getColumnInfoList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the ColumnInfo list so external objects can inspect it.
 @return List of ColumnInfo objects]]>
      </doc>
    </method>
    <method name="setColumnInfoList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="columnInfoList" type="java.util.List"/>
      <doc>
      <![CDATA[Updates the ColumnInfo List. Use this if you need to implement custom projections]]>
      </doc>
    </method>
    <method name="storeProjectedFieldNames"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Stores the requiredFieldsList as a serialized object so it can be fetched on the cluster. If
 you plan to overwrite pushProjection, you need to call this with the requiredFieldList so it
 they can be accessed on the cluster.]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set up the caster to use for reading values out of, and writing to, HBase.]]>
      </doc>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="createDelete" return="org.apache.hadoop.hbase.client.Delete"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <param name="timestamp" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Public method to initialize a Delete.

 @param key
 @param type
 @param timestamp
 @return new delete
 @throws IOException]]>
      </doc>
    </method>
    <method name="createPut" return="org.apache.hadoop.hbase.client.Put"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Public method to initialize a Put. Used to allow assertions of how Puts
 are initialized by unit tests.

 @param key
 @param type
 @return new put
 @throws IOException]]>
      </doc>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFeatures" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="ensureAllKeyInstancesInSameSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSplitComparable" return="org.apache.hadoop.io.WritableComparable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="gt_" type="byte[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="gte_" type="byte[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lt_" type="byte[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lte_" type="byte[]"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A HBase implementation of LoadFunc and StoreFunc.
 <P>
 Below is an example showing how to load data from HBase:
 <pre>{@code
 raw = LOAD 'hbase://SampleTable'
       USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
       'info:first_name info:last_name friends:* info:*', '-loadKey true -limit 5')
       AS (id:bytearray, first_name:chararray, last_name:chararray, friends_map:map[], info_map:map[]);
 }</pre>
 This example loads data redundantly from the info column family just to
 illustrate usage. Note that the row key is inserted first in the result schema.
 To load only column names that start with a given prefix, specify the column
 name with a trailing '*'. For example passing <code>friends:bob_*</code> to
 the constructor in the above example would cause only columns that start with
 <i>bob_</i> to be loaded.
 <P>
 Note that when using a prefix like <code>friends:bob_*</code>, explicit HBase filters are set for
 all columns and prefixes specified. Querying HBase with many filters can cause performance
 degredation. This is typically seen when mixing one or more prefixed descriptors with a large list
 of columns. In that case better perfomance will be seen by either loading the entire family via
 <code>friends:*</code> or by specifying explicit column descriptor names.
 <P>
 Below is an example showing how to store data into HBase:
 <pre>{@code
 copy = STORE raw INTO 'hbase://SampleTableCopy'
       USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(
       'info:first_name info:last_name friends:* info:*');
 }</pre>
 Note that STORE will expect the first value in the tuple to be the row key.
 Scalars values need to map to an explicit column descriptor and maps need to
 map to a column family name. In the above examples, the <code>friends</code>
 column family data from <code>SampleTable</code> will be written to a
 <code>buddies</code> column family in the <code>SampleTableCopy</code> table.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseStorage -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseStorage.ColumnInfo -->
  <class name="HBaseStorage.ColumnInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnInfo" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getColumnFamily" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnName" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getColumnPrefix" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isColumnMap" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasPrefixMatch" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="qualifier" type="byte[]"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Class to encapsulate logic around which column names were specified in each
 position of the column list. Users can specify columns names in one of 4
 ways: 'Foo:', 'Foo:*', 'Foo:bar*' or 'Foo:bar'. The first 3 result in a
 Map being added to the tuple, while the last results in a scalar. The 3rd
 form results in a prefix-filtered Map.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseStorage.ColumnInfo -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat -->
  <class name="HBaseTableInputFormat" extends="org.apache.hadoop.hbase.mapreduce.TableInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HBaseTableInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="HBaseTableInputFormat" type="long, byte[], byte[], byte[], byte[]"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="getSplits" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.JobContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="gt_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="gte_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lt_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lte_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder -->
  <class name="HBaseTableInputFormat.HBaseTableIFBuilder" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HBaseTableIFBuilder"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="withGt" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gt" type="byte[]"/>
    </method>
    <method name="withGte" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gte" type="byte[]"/>
    </method>
    <method name="withLt" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lt" type="byte[]"/>
    </method>
    <method name="withLte" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lte" type="byte[]"/>
    </method>
    <method name="withLimit" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="long"/>
    </method>
    <method name="withConf" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="build" return="org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="gt_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="gte_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lt_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lte_" type="byte[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="limit_" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="conf_" type="org.apache.hadoop.conf.Configuration"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableIFBuilder -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableRecordReader -->
  <class name="HBaseTableInputFormat.HBaseTableRecordReader" extends="org.apache.hadoop.hbase.mapreduce.TableRecordReader"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="HBaseTableRecordReader" type="long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setScan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scan" type="org.apache.hadoop.hbase.client.Scan"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.HBaseTableInputFormat.HBaseTableRecordReader -->
  <!-- start class org.apache.pig.backend.hadoop.hbase.TableSplitComparable -->
  <class name="TableSplitComparable" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <constructor name="TableSplitComparable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="TableSplitComparable" type="org.apache.hadoop.hbase.mapreduce.TableSplit"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.hbase.mapreduce.TableSplit"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.hbase.TableSplitComparable -->
</package>
<package name="org.apache.pig.backend.hadoop.streaming">
  <!-- start class org.apache.pig.backend.hadoop.streaming.HadoopExecutableManager -->
  <class name="HadoopExecutableManager" extends="org.apache.pig.impl.streaming.ExecutableManager"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HadoopExecutableManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="configure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeErrorToHDFS" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="limit" type="int"/>
      <param name="taskId" type="java.lang.String"/>
      <doc>
      <![CDATA[Should the stderr data of this task be persisted on HDFS?
 
 @param limit maximum number of tasks whose stderr log-files are persisted
 @param taskId id of the task
 @return <code>true</code> if stderr data of task should be persisted on 
         HDFS, <code>false</code> otherwise]]>
      </doc>
    </method>
    <method name="processError"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="error" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[{@link HadoopExecutableManager} is a specialization of 
 {@link ExecutableManager} and provides HDFS-specific support for secondary
 outputs, task-logs etc.
 
 <code>HadoopExecutableManager</code> provides support for  secondary outputs
 of the managed process and also persists the logs of the tasks on HDFS.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.backend.hadoop.streaming.HadoopExecutableManager -->
</package>
<package name="org.apache.pig.builtin">
  <!-- start class org.apache.pig.builtin.ABS -->
  <class name="ABS" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ABS"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, absolute value of the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ABS implements a binding to the Java function
 {@link java.lang.Math#abs(double) Math.abs(double)} for computing the
 absolute value of the argument. The returned value will be a double which is
 absolute value of the input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ABS -->
  <!-- start class org.apache.pig.builtin.ACOS -->
  <class name="ACOS" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ACOS"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[ACOS implements a binding to the Java function
 {@link java.lang.Math#acos(double) Math.acos(double)} for computing the
 arc cosine of value of the argument. The returned value will be a double which is 
 the arc cosine of the value of  input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ACOS -->
  <!-- start class org.apache.pig.builtin.AddDuration -->
  <class name="AddDuration" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AddDuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>AddDuration returns the result of a DateTime object plus a Duration object</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Duration Format: http://en.wikipedia.org/wiki/ISO_8601#Durations</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime, dr:chararray);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dr: chararray}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,PT1S)
 (2008-02-06T02:06:02.000Z,PT1M)
 (2007-03-05T03:05:03.000Z,P1D)
 ...

 dtadd = FOREACH ISOin GENERATE AddDuration(dt, dr) AS dt1;

 DESCRIBE dtadd;
 dtadd: {dt1: datetime}

 DUMP dtadd;

 (2009-01-07T01:07:02.000Z)
 (2008-02-06T02:07:02.000Z)
 (2007-03-06T03:05:03.000Z)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AddDuration -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigDecimalMathBase -->
  <class name="AlgebraicBigDecimalMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicBigDecimalMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an SUM function to a
 bag of BigDecimals.
 This is a modified version of AlgebraicDoubleMathBase]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigDecimalMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Final -->
  <class name="AlgebraicBigDecimalMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Intermediate -->
  <class name="AlgebraicBigDecimalMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigIntegerMathBase -->
  <class name="AlgebraicBigIntegerMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicBigIntegerMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an SUM function to a
 bag of BigIntegers.
 This is a modified version of AlgebraicDoubleMathBase]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigIntegerMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Final -->
  <class name="AlgebraicBigIntegerMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Intermediate -->
  <class name="AlgebraicBigIntegerMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicByteArrayMathBase -->
  <class name="AlgebraicByteArrayMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicByteArrayMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <param name="expectedType" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an accumulative/algebraic math function to a
 bag of doubles.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicByteArrayMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Final -->
  <class name="AlgebraicByteArrayMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Initial -->
  <class name="AlgebraicByteArrayMathBase.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Initial -->
  <!-- start class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Intermediate -->
  <class name="AlgebraicByteArrayMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicByteArrayMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicDoubleMathBase -->
  <class name="AlgebraicDoubleMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicDoubleMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an accumulative/algebraic math function to a
 bag of doubles.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicDoubleMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicDoubleMathBase.Final -->
  <class name="AlgebraicDoubleMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicDoubleMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicDoubleMathBase.Intermediate -->
  <class name="AlgebraicDoubleMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicDoubleMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicFloatMathBase -->
  <class name="AlgebraicFloatMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicFloatMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an accumulative/algebraic math function to a
 bag of Floats.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicFloatMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicFloatMathBase.Final -->
  <class name="AlgebraicFloatMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicFloatMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicFloatMathBase.Intermediate -->
  <class name="AlgebraicFloatMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicFloatMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicIntMathBase -->
  <class name="AlgebraicIntMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicIntMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an accumulative/algebraic math function to a
 bag of doubles.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicIntMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicIntMathBase.Final -->
  <class name="AlgebraicIntMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicIntMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicIntMathBase.Intermediate -->
  <class name="AlgebraicIntMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicIntMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.AlgebraicLongMathBase -->
  <class name="AlgebraicLongMathBase" extends="org.apache.pig.builtin.AlgebraicMathBase"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AlgebraicLongMathBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSeed" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"/>
    </method>
    <method name="doTupleWork" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <param name="opProvider" type="org.apache.pig.builtin.AlgebraicMathBase.KnownOpProvider"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Core logic for applying an accumulative/algebraic math function to a
 bag of Longs.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicLongMathBase -->
  <!-- start class org.apache.pig.builtin.AlgebraicLongMathBase.Final -->
  <class name="AlgebraicLongMathBase.Final" extends="org.apache.pig.builtin.AlgebraicMathBase.Final"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicLongMathBase.Final -->
  <!-- start class org.apache.pig.builtin.AlgebraicLongMathBase.Intermediate -->
  <class name="AlgebraicLongMathBase.Intermediate" extends="org.apache.pig.builtin.AlgebraicMathBase.Intermediate"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AlgebraicLongMathBase.Intermediate -->
  <!-- start class org.apache.pig.builtin.ARITY -->
  <class name="ARITY" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="Use {@link SIZE} instead.">
    <constructor name="ARITY"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Find the number of fields in a tuple.  Expected input is a tuple,
 output is an integer.
 @deprecated Use {@link SIZE} instead.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ARITY -->
  <!-- start class org.apache.pig.builtin.ASIN -->
  <class name="ASIN" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ASIN"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[ASIN implements a binding to the Java function
 {@link java.lang.Math#asin(double) Math.asin(double)} for computing the
 arc sine of value of the argument. The returned value will be a double which is 
 the arc sine of the value of  input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ASIN -->
  <!-- start class org.apache.pig.builtin.Assert -->
  <class name="Assert" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Assert"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.Assert -->
  <!-- start class org.apache.pig.builtin.ATAN -->
  <class name="ATAN" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ATAN"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[ATAN implements a binding to the Java function
 {@link java.lang.Math#atan(double) Math.atan(double)} for computing the
 arc tangent of value of the argument. The returned value will be a double which is 
 the arc tangent of the value of  input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ATAN -->
  <!-- start class org.apache.pig.builtin.AVG -->
  <class name="AVG" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="AVG"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Generates the average of a set of values. This class implements
 {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 AVG can operate on any numeric type.  It can also operate on bytearrays,
 which it will cast to doubles.    It expects a bag of
 tuples of one record each.  If Pig knows from the schema that this function
 will be passed a bag of integers or longs, it will use a specially adapted version of
 AVG that uses integer arithmetic for summing the data.  The return type
 of AVG will always be double, regardless of the input type.
 <p>
 AVG implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AVG -->
  <!-- start class org.apache.pig.builtin.AVG.Final -->
  <class name="AVG.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AVG.Final -->
  <!-- start class org.apache.pig.builtin.AVG.Initial -->
  <class name="AVG.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AVG.Initial -->
  <!-- start class org.apache.pig.builtin.AVG.Intermediate -->
  <class name="AVG.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.AVG.Intermediate -->
  <!-- start class org.apache.pig.builtin.AvroStorage -->
  <class name="AvroStorage" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <implements name="org.apache.pig.LoadPushDown"/>
    <implements name="org.apache.pig.StoreResources"/>
    <constructor name="AvroStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates new instance of Pig Storage function, without specifying
  the schema. Useful for just loading in data.]]>
      </doc>
    </constructor>
    <constructor name="AvroStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates new instance of Pig Storage function.
  @param sn Specifies the input/output schema or record name.]]>
      </doc>
    </constructor>
    <constructor name="AvroStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates new instance of AvroStorage function, specifying output schema
  properties.
  @param sn Specifies the input/output schema or record name.
  @param opts Options for AvroStorage:
  <li><code>-namespace</code> Namespace for an automatically generated
    output schema.</li>
  <li><code>-schemafile</code> Specifies URL for avro schema file
    from which to read the input schema (can be local file, hdfs,
    url, etc).</li>
  <li><code>-schemaclass</code> Specifies fully qualified class name for avro
    class in your classpath which implements GenericContainer.</li>
  <li><code>-examplefile</code> Specifies URL for avro data file from
    which to copy the input schema (can be local file, hdfs, url, etc).</li>
  <li><code>-allowrecursive</code> Option to allow recursive schema
    definitions (default is false).</li>
  <li><code>-doublecolons</code> Option to translate Pig schema names
    with double colons to names with double underscores (default is false).</li>]]>
      </doc>
    </constructor>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Internal function for getting the Properties object associated with
 this UDF instance.
 @return The Properties object associated with this UDF instance]]>
      </doc>
    </method>
    <method name="getProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <param name="c" type="java.lang.Class"/>
      <param name="signature" type="java.lang.String"/>
      <doc>
      <![CDATA[Internal function for getting the Properties object associated with
 this UDF instance.
 @param c Class of this UDF
 @param signature Signature string
 @return The Properties object associated with this UDF instance]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Reads the avro schema at the specified location.
 @param location Location of file
 @param job Hadoop job object
 @return an Avro Schema object derived from the specified file
 @throws IOException]]>
      </doc>
    </method>
    <method name="getAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="org.apache.hadoop.fs.Path[]"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Reads the avro schemas at the specified location.
 @param p Location of file
 @param job Hadoop job object
 @return an Avro Schema object derived from the specified file
 @throws IOException]]>
      </doc>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="rs" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setOutputAvroSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <doc>
      <![CDATA[Sets the output avro schema to {@s}.
 @param s An Avro schema]]>
      </doc>
    </method>
    <method name="getOutputAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Utility function that gets the output schema from the udf
 properties for this instance of the store function.
 @return the output schema associated with this UDF]]>
      </doc>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="w" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setInputAvroSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <doc>
      <![CDATA[Sets the input avro schema to {@s}.
 @param s The specified schema]]>
      </doc>
    </method>
    <method name="getInputAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Helper function reads the input avro schema from the UDF
 Properties.
 @return The input avro schema]]>
      </doc>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@see org.apache.pig.LoadFunc#getInputFormat()]]>
      </doc>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <param name="r" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="s" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="true" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFeatures" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rfl" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="allowRecursive" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="doubleColonsToDoubleUnderscores" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.avro.Schema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="udfContextSignature" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Context signature for this UDF instance.]]>
      </doc>
    </field>
    <field name="OUTPUT_AVRO_SCHEMA" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Pig property name for the output avro schema.]]>
      </doc>
    </field>
    <field name="INPUT_AVRO_SCHEMA" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Pig property name for the input avro schema.]]>
      </doc>
    </field>
    <field name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[List of required fields passed by pig in a push down projection.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Pig UDF for reading and writing Avro data.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.AvroStorage -->
  <!-- start class org.apache.pig.builtin.BagSize -->
  <class name="BagSize" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagSize"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SIZE}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BagSize -->
  <!-- start class org.apache.pig.builtin.BagToString -->
  <class name="BagToString" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagToString"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputTuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Flatten a bag into a string.  This UDF will use the character '_'
 as the default delimiter if one is not provided.
 
 Example: 

 bag = {(a),(b),(c)}
 BagToString(bag) -> 'a_b_c'

 BagToString(bag, '+') -> 'a+b+c'
 
 bag = {(a,b), (c,d), (e,f)} 
 BagToString(bag) --> 'a_b_c_d_e_f'
 
 If input bag is null, this UTF will return null;]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BagToString -->
  <!-- start class org.apache.pig.builtin.BagToTuple -->
  <class name="BagToTuple" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagToTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputTuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Flatten a bag into a tuple.  This UDF performs only flattening at the first level, 
 it doesn't recursively flatten nested bags.
 
 Example: {(a),(b),(c)} --> (a,b,c)
          {(a,b), (c,d), (e,f)} --> (a,b,c,d,e,f);
 
 If input bag is null, this UDF will return null;]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BagToTuple -->
  <!-- start class org.apache.pig.builtin.Base -->
  <class name="Base" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Base"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[base class for math udfs]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.Base -->
  <!-- start class org.apache.pig.builtin.BigDecimalAbs -->
  <class name="BigDecimalAbs" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalAbs -->
  <!-- start class org.apache.pig.builtin.BigDecimalAvg -->
  <class name="BigDecimalAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="BigDecimalAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="div" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dividend" type="java.math.BigDecimal"/>
      <param name="divisor" type="java.math.BigDecimal"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalAvg -->
  <!-- start class org.apache.pig.builtin.BigDecimalAvg.Final -->
  <class name="BigDecimalAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalAvg.Final -->
  <!-- start class org.apache.pig.builtin.BigDecimalAvg.Initial -->
  <class name="BigDecimalAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalAvg.Initial -->
  <!-- start class org.apache.pig.builtin.BigDecimalAvg.Intermediate -->
  <class name="BigDecimalAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigDecimalMax -->
  <class name="BigDecimalMax" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMax -->
  <!-- start class org.apache.pig.builtin.BigDecimalMax.Final -->
  <class name="BigDecimalMax.Final" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMax.Final -->
  <!-- start class org.apache.pig.builtin.BigDecimalMax.Intermediate -->
  <class name="BigDecimalMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigDecimalMin -->
  <class name="BigDecimalMin" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMin -->
  <!-- start class org.apache.pig.builtin.BigDecimalMin.Final -->
  <class name="BigDecimalMin.Final" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMin.Final -->
  <!-- start class org.apache.pig.builtin.BigDecimalMin.Intermediate -->
  <class name="BigDecimalMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigDecimalSum -->
  <class name="BigDecimalSum" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalSum -->
  <!-- start class org.apache.pig.builtin.BigDecimalSum.Final -->
  <class name="BigDecimalSum.Final" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalSum.Final -->
  <!-- start class org.apache.pig.builtin.BigDecimalSum.Intermediate -->
  <class name="BigDecimalSum.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigDecimalMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalSum.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigDecimalWrapper -->
  <class name="BigDecimalWrapper" extends="java.math.BigDecimal"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalWrapper" type="java.math.BigInteger"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="java.math.BigInteger, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="java.math.BigInteger, int, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="java.math.BigInteger, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="char[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="char[], int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="char[], int, int, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="char[], java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="double"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="double, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="int, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="long, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigDecimalWrapper" type="java.lang.String, java.math.MathContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isPositiveInfinity" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isNegativeInfinity" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="NEGATIVE_INFINITY" return="org.apache.pig.builtin.BigDecimalWrapper"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="POSITIVE_INFINITY" return="org.apache.pig.builtin.BigDecimalWrapper"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Max and min seeds cannot be defined to BigDecimal as the value could go as large as
 The computer allows. This wrapper is used to provide seed for MIN and MAX functions
 in AlgrebraicBigDecimalMathBase.java]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigDecimalWrapper -->
  <!-- start class org.apache.pig.builtin.BigIntegerAbs -->
  <class name="BigIntegerAbs" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerAbs -->
  <!-- start class org.apache.pig.builtin.BigIntegerAvg -->
  <class name="BigIntegerAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="BigIntegerAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="div" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dividend" type="java.math.BigInteger"/>
      <param name="divisor" type="java.math.BigInteger"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerAvg -->
  <!-- start class org.apache.pig.builtin.BigIntegerAvg.Final -->
  <class name="BigIntegerAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerAvg.Final -->
  <!-- start class org.apache.pig.builtin.BigIntegerAvg.Initial -->
  <class name="BigIntegerAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerAvg.Initial -->
  <!-- start class org.apache.pig.builtin.BigIntegerAvg.Intermediate -->
  <class name="BigIntegerAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigIntegerMax -->
  <class name="BigIntegerMax" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMax -->
  <!-- start class org.apache.pig.builtin.BigIntegerMax.Final -->
  <class name="BigIntegerMax.Final" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMax.Final -->
  <!-- start class org.apache.pig.builtin.BigIntegerMax.Intermediate -->
  <class name="BigIntegerMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigIntegerMin -->
  <class name="BigIntegerMin" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMin -->
  <!-- start class org.apache.pig.builtin.BigIntegerMin.Final -->
  <class name="BigIntegerMin.Final" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMin.Final -->
  <!-- start class org.apache.pig.builtin.BigIntegerMin.Intermediate -->
  <class name="BigIntegerMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigIntegerSum -->
  <class name="BigIntegerSum" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerSum -->
  <!-- start class org.apache.pig.builtin.BigIntegerSum.Final -->
  <class name="BigIntegerSum.Final" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerSum.Final -->
  <!-- start class org.apache.pig.builtin.BigIntegerSum.Intermediate -->
  <class name="BigIntegerSum.Intermediate" extends="org.apache.pig.builtin.AlgebraicBigIntegerMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerSum.Intermediate -->
  <!-- start class org.apache.pig.builtin.BigIntegerWrapper -->
  <class name="BigIntegerWrapper" extends="java.math.BigInteger"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerWrapper" type="byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWrapper" type="int, byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWrapper" type="int, int, java.util.Random"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWrapper" type="int, java.util.Random"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWrapper" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BigIntegerWrapper" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isPositiveInfinity" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isNegativeInfinity" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="NEGATIVE_INFINITY" return="org.apache.pig.builtin.BigIntegerWrapper"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="POSITIVE_INFINITY" return="org.apache.pig.builtin.BigIntegerWrapper"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Max and min seeds cannot be defined to BigInteger as the value could go as large as
 The computer allows. This wrapper is used to provide seed for MIN and MAX functions
 in AlgrebraicBigIntegerMathBase.java]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BigIntegerWrapper -->
  <!-- start class org.apache.pig.builtin.BinStorage -->
  <class name="BinStorage" extends="org.apache.pig.FileInputLoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="BinStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BinStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="end" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Load and store data in a binary format.  This class is used by Pig to move
 data between MapReduce jobs.  Use of this function for storing user data is
 supported.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BinStorage -->
  <!-- start class org.apache.pig.builtin.Bloom -->
  <class name="Bloom" extends="org.apache.pig.FilterFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Bloom"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Bloom" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The filename containing the serialized Bloom filter. If filename is null
 or the no-arg constructor is used, then the bloomfilter bytearray which
 is the output of BuildBloom should be passed as the first argument to the UDF

 @param filename  file containing the serialized Bloom filter]]>
      </doc>
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dba" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[For testing only, do not use directly.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Use a Bloom filter build previously by BuildBloom.  You would first
 build a bloom filter in a group all job.  For example:
 in a group all job.  For example:
 define bb BuildBloom('jenkins', '100', '0.1');
 A = load 'foo' as (x, y);
 B = group A all;
 C = foreach B generate bb(A.x);
 store C into 'mybloom';
 The bloom filter can be on multiple keys by passing more than one field
 (or the entire bag) to BuildBloom.
 The resulting file can then be used in a Bloom filter as:
 define bloom Bloom(mybloom);
 A = load 'foo' as (x, y);
 B = load 'bar' as (z);
 C = filter B by bloom(z);
 D = join C by z, A by x;
 It uses {@link org.apache.hadoop.util.bloom.BloomFilter}.

 You can also pass the Bloom filter from BuildBloom directly to Bloom UDF
 as a scalar instead of storing it to file and loading again. This is simpler
 if the Bloom filter will not be reused and needs to be discarded after the
 run of the script.

 define bb BuildBloom('jenkins', '100', '0.1');
 A = load 'foo' as (x, y);
 B = group A all;
 C = foreach B generate bb(A.x) as bloomfilter;
 D = load 'bar' as (z);
 E = filter D by Bloom(C.bloomfilter, z);
 F = join E by z, A by x;]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.Bloom -->
  <!-- start class org.apache.pig.builtin.BuildBloom -->
  <class name="BuildBloom" extends="org.apache.pig.builtin.BuildBloomBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="BuildBloom" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Build a bloom filter of fixed size and number of hash functions.
 @param hashType type of the hashing function (see
 {@link org.apache.hadoop.util.hash.Hash}).
 @param mode Will be ignored, though by convention it should be
 "fixed" or "fixedsize"
 @param vectorSize The vector size of this filter.
 @param nbHash The number of hash functions to consider.]]>
      </doc>
    </constructor>
    <constructor name="BuildBloom" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a Bloom filter based on expected number of elements and
 desired accuracy.
 @param hashType type of the hashing function (see
 {@link org.apache.hadoop.util.hash.Hash}).
 @param numElements The number of distinct elements expected to be
 placed in this filter.
 @param desiredFalsePositive the acceptable rate of false positives.
 This should be a floating point value between 0 and 1.0, where 1.0
 would be 100% (ie, a totally useless filter).]]>
      </doc>
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[Build a bloom filter for use later in Bloom.  This UDF is intended to run
 in a group all job.  For example:
 define bb BuildBloom('jenkins', '100', '0.1');
 A = load 'foo' as (x, y);
 B = group A all;
 C = foreach B generate bb(A.x);
 store C into 'mybloom';
 The bloom filter can be on multiple keys by passing more than one field
 (or the entire bag) to BuildBloom.
 The resulting file can then be used in a Bloom filter as:
 define bloom Bloom('mybloom');
 A = load 'foo' as (x, y);
 B = load 'bar' as (z);
 C = filter B by bloom(z);
 D = join C by z, A by x;
 It uses {@link org.apache.hadoop.util.bloom.BloomFilter}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BuildBloom -->
  <!-- start class org.apache.pig.builtin.BuildBloom.Final -->
  <class name="BuildBloom.Final" extends="org.apache.pig.builtin.BuildBloomBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BuildBloom.Final -->
  <!-- start class org.apache.pig.builtin.BuildBloom.Initial -->
  <class name="BuildBloom.Initial" extends="org.apache.pig.builtin.BuildBloomBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BuildBloom.Initial -->
  <!-- start class org.apache.pig.builtin.BuildBloom.Intermediate -->
  <class name="BuildBloom.Intermediate" extends="org.apache.pig.builtin.BuildBloomBase"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermediate" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermediate" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.BuildBloom.Intermediate -->
  <!-- start class org.apache.pig.builtin.BuildBloomBase -->
  <class name="BuildBloomBase" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BuildBloomBase"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BuildBloomBase" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param hashType type of the hashing function (see
 {@link org.apache.hadoop.util.hash.Hash}).
 @param mode Will be ignored, though by convention it should be
 "fixed" or "fixedsize"
 @param vectorSize The vector size of <i>this</i> filter.
 @param nbHash The number of hash functions to consider.]]>
      </doc>
    </constructor>
    <constructor name="BuildBloomBase" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param hashType type of the hashing function (see
 {@link org.apache.hadoop.util.hash.Hash}).
 @param numElements The number of distinct elements expected to be
 placed in this filter.
 @param desiredFalsePositive the acceptable rate of false positives.
 This should be a floating point value between 0 and 1.0, where 1.0
 would be 100% (ie, a totally useless filter).]]>
      </doc>
    </constructor>
    <method name="bloomOr" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bloomOut" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bloomIn" return="org.apache.hadoop.util.bloom.BloomFilter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="vSize" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="numHash" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="hType" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="filter" type="org.apache.hadoop.util.bloom.BloomFilter"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A Base class for BuildBloom and its Algebraic implementations.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.BuildBloomBase -->
  <!-- start class org.apache.pig.builtin.CBRT -->
  <class name="CBRT" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CBRT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[CBRT implements a binding to the Java function
 {@link java.lang.Math#cbrt(double) Math.cbrt(double)} for computing the
 cube root of the argument. The returned value will be a double which is 
 cube root value of the input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.CBRT -->
  <!-- start class org.apache.pig.builtin.CEIL -->
  <class name="CEIL" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CEIL"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[CEIL implements a binding to the Java function
 {@link java.lang.Math#ceil(double) Math.ceil(double)}. Given a single 
 data atom it  Returns the smallest (closest to negative infinity) 
 double value that is greater than or equal  to the argument and is equal 
 to a mathematical integer.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.CEIL -->
  <!-- start class org.apache.pig.builtin.CONCAT -->
  <class name="CONCAT" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CONCAT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getSchemaType" return="org.apache.pig.EvalFunc.SchemaType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Generates the concatenation of two or more arguments.  It can be
 used with two or more bytearrays or two or more chararrays (but not a mixture of the two).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.CONCAT -->
  <!-- start class org.apache.pig.builtin.ConstantSize -->
  <class name="ConstantSize" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantSize"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SIZE}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ConstantSize -->
  <!-- start class org.apache.pig.builtin.COR -->
  <class name="COR" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="COR"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="COR" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Function to compute correlation between data sets.
 @param input input tuple which contains data sets.
 @return output output dataBag which contain correlation between each pair of data sets.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Function to return argument of constructor as string. It append ( and ) at starting and end or argument respectively. 
 If default constructor is called is returns empty string.
 @return argument of constructor]]>
      </doc>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[combine results of different data chunk 
 @param values DataBag containing partial results computed on different data chunks
 @return output Tuple containing combined data
 @throws IOException]]>
      </doc>
    </method>
    <method name="computeAll" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="first" type="org.apache.pig.data.DataBag"/>
      <param name="second" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[compute sum(XY), sum(X), sum(Y), sum(XX), sum(YY) from given data sets
 @param first DataBag containing first data set
 @param second DataBag containing second data set
 @return tuple containing sum(XY), sum(X), sum(Y), sum(XX), sum(YY)]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <field name="schemaName" type="java.util.Vector"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Computes the correlation between sets of data.  The returned value 
 will be a bag which will contain a tuple for each combination of input 
 schema and inside tuple we will have two schema name and correlation between 
 those  two schemas. 
 
 A = load 'input.xml' using PigStorage(':');<br/>
 B = group A all;<br/>
 D = foreach B generate group,COR(A.$0,A.$1,A.$2);<br/>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COR -->
  <!-- start class org.apache.pig.builtin.COR.Final -->
  <class name="COR.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="schemaName" type="java.util.Vector"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.builtin.COR.Final -->
  <!-- start class org.apache.pig.builtin.COR.Initial -->
  <class name="COR.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COR.Initial -->
  <!-- start class org.apache.pig.builtin.COR.Intermed -->
  <class name="COR.Intermed" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermed"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COR.Intermed -->
  <!-- start class org.apache.pig.builtin.COS -->
  <class name="COS" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="COS"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[COS implements a binding to the Java function
 {@link java.lang.Math#cos(double) Math.cos(double)}. Given a single 
 data atom it  Returns the cosine value of the input]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COS -->
  <!-- start class org.apache.pig.builtin.COSH -->
  <class name="COSH" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="COSH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[COSH implements a binding to the Java function
 {@link java.lang.Math#cosh(double) Math.cosh(double)}. Given a single 
 data atom it  Returns the hyperbolic cosine value of the input]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COSH -->
  <!-- start class org.apache.pig.builtin.COUNT -->
  <class name="COUNT" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="COUNT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="sum" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="NumberFormatException" type="java.lang.NumberFormatException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Generates the count of the number of values in a bag.  This count does not
 include null values, and thus matches SQL semantics for COUNT(a) (where a is
 field) but not for COUNT(*) (where * in SQL indicates all).
 <p>
 This class
 implements {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 There are no restrictions as to the data types inside the bag to be counted.
 <p>
 COUNT implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT -->
  <!-- start class org.apache.pig.builtin.COUNT_STAR -->
  <class name="COUNT_STAR" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="COUNT_STAR"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="sum" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="NumberFormatException" type="java.lang.NumberFormatException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Generates the count of the values of the first field of a tuple. 
 This class is different from COUNT in that it counts all NULL values and as such
 implements SQL COUNT(*) semantics.

 Generates the count of the number of values in a bag.  This count does 
 include null values, and thus matches SQL semantics for COUNT(*) (where
 in SQL indicates all) but not for COUNT(a) (where a is * field).
 <p>
 This class
 implements {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 There are no restrictions as to the data types inside the bag to be counted.
 <p>
 COUNT_STAR implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT_STAR -->
  <!-- start class org.apache.pig.builtin.COUNT_STAR.Final -->
  <class name="COUNT_STAR.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT_STAR.Final -->
  <!-- start class org.apache.pig.builtin.COUNT_STAR.Initial -->
  <class name="COUNT_STAR.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT_STAR.Initial -->
  <!-- start class org.apache.pig.builtin.COUNT_STAR.Intermediate -->
  <class name="COUNT_STAR.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT_STAR.Intermediate -->
  <!-- start class org.apache.pig.builtin.COUNT.Final -->
  <class name="COUNT.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT.Final -->
  <!-- start class org.apache.pig.builtin.COUNT.Initial -->
  <class name="COUNT.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT.Initial -->
  <!-- start class org.apache.pig.builtin.COUNT.Intermediate -->
  <class name="COUNT.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COUNT.Intermediate -->
  <!-- start class org.apache.pig.builtin.COV -->
  <class name="COV" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="COV"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="COV" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Function to compute covariance between data sets.
 @param input input tuple which contains data sets.
 @return output output dataBag which contain covariance between each pair of data sets.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Function to return argument of constructor as string. It append ( and ) at starting and end or argument respectively.
 If default constructor is called is returns empty string.
 @return argument of constructor]]>
      </doc>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[combine results of different data chunk 
 @param values DataBag containing partial results computed on different data chunks
 @return output Tuple containing combined data
 @throws IOException]]>
      </doc>
    </method>
    <method name="computeAll" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="first" type="org.apache.pig.data.DataBag"/>
      <param name="second" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[compute sum(XY), sum(X), sum(Y) from given data sets
 @param first DataBag containing first data set
 @param second DataBag containing second data set
 @return tuple containing sum(XY), sum(X), sum(Y)]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <field name="schemaName" type="java.util.Vector"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Computes the covariance between sets of data.  The returned value 
 will be a bag which will contain a tuple for each combination of input 
 schema and inside tuple we will have two schema name and covariance between 
 those  two schemas. 
 
 A = load 'input.xml' using PigStorage(':');<br/>
 B = group A all;<br/>
 D = foreach B generate group,COV(A.$0,A.$1,A.$2);<br/>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.COV -->
  <!-- start class org.apache.pig.builtin.COV.Final -->
  <class name="COV.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="schemaName" type="java.util.Vector"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.builtin.COV.Final -->
  <!-- start class org.apache.pig.builtin.COV.Initial -->
  <class name="COV.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COV.Initial -->
  <!-- start class org.apache.pig.builtin.COV.Intermed -->
  <class name="COV.Intermed" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermed"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.COV.Intermed -->
  <!-- start class org.apache.pig.builtin.CubeDimensions -->
  <class name="CubeDimensions" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CubeDimensions"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="CubeDimensions" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="convertNullToUnknown"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Produces a DataBag with all combinations of the argument tuple members
 as in a data cube. Meaning, (a, b, c) will produce the following bag:
 <pre>
 { (a, b, c), (null, null, null), (a, b, null), (a, null, c),
   (a, null, null), (null, b, c), (null, null, c), (null, b, null) }
 </pre>
 <p>
 The "all" marker is null by default, but can be set to an arbitrary string by
 invoking a constructor (via a DEFINE). The constructor takes a single argument,
 the string you want to represent "all".
 <p>
 Usage goes something like this:
 <pre>{@code
 events = load '/logs/events' using EventLoader() as (lang, event, app_id);
 cubed = foreach x generate
   FLATTEN(piggybank.CubeDimensions(lang, event, app_id))
     as (lang, event, app_id),
   measure;
 cube = foreach (group cubed
                 by (lang, event, app_id) parallel $P)
        generate
   flatten(group) as (lang, event, app_id),
   COUNT_STAR(cubed),
   SUM(measure);
 store cube into 'event_cube';
 }</pre>
 <p>
 <b>Note</b>: doing this with non-algebraic aggregations on large data can result
 in very slow reducers, since one of the groups is going to get <i>all</i> the
 records in your relation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.CubeDimensions -->
  <!-- start class org.apache.pig.builtin.CurrentTime -->
  <class name="CurrentTime" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CurrentTime"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is a default constructor for Pig reflection purposes. It should
 never actually be used.]]>
      </doc>
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.CurrentTime -->
  <!-- start class org.apache.pig.builtin.DateTimeMax -->
  <class name="DateTimeMax" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="DateTimeMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="max" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMax -->
  <!-- start class org.apache.pig.builtin.DateTimeMax.Final -->
  <class name="DateTimeMax.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMax.Final -->
  <!-- start class org.apache.pig.builtin.DateTimeMax.Initial -->
  <class name="DateTimeMax.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMax.Initial -->
  <!-- start class org.apache.pig.builtin.DateTimeMax.Intermediate -->
  <class name="DateTimeMax.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.DateTimeMin -->
  <class name="DateTimeMin" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="DateTimeMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="min" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMin -->
  <!-- start class org.apache.pig.builtin.DateTimeMin.Final -->
  <class name="DateTimeMin.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMin.Final -->
  <!-- start class org.apache.pig.builtin.DateTimeMin.Initial -->
  <class name="DateTimeMin.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMin.Initial -->
  <!-- start class org.apache.pig.builtin.DateTimeMin.Intermediate -->
  <class name="DateTimeMin.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DateTimeMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.DaysBetween -->
  <class name="DaysBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DaysBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>DaysBetween returns the number of days between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DaysBetween -->
  <!-- start class org.apache.pig.builtin.DIFF -->
  <class name="DIFF" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DIFF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Compares a tuple with two fields. Emits any differences.
 @param input a tuple with exactly two fields.
 @throws IOException if there are not exactly two fields in a tuple]]>
      </doc>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[DIFF takes two bags as arguments and compares them.   Any tuples
 that are in one bag but not the other are returned.  If the
 fields are not bags then they will be returned if they do not match, or 
 an empty bag will be returned if the two records match.
 <p>
 The implementation assumes that both bags being passed to this function will
 fit entirely into memory simultaneously.  If that is not the case the UDF
 will still function, but it will be <strong>very</strong> slow.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DIFF -->
  <!-- start class org.apache.pig.builtin.Distinct -->
  <class name="Distinct" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="Distinct"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDistinct" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Find the distinct set of tuples in a bag.
 This is a blocking operator. All the input is put in the hashset implemented
 in DistinctDataBag which also provides the other DataBag interfaces.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.Distinct -->
  <!-- start class org.apache.pig.builtin.Distinct.Final -->
  <class name="Distinct.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.Distinct.Final -->
  <!-- start class org.apache.pig.builtin.Distinct.Initial -->
  <class name="Distinct.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.Distinct.Initial -->
  <!-- start class org.apache.pig.builtin.Distinct.Intermediate -->
  <class name="Distinct.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.Distinct.Intermediate -->
  <!-- start class org.apache.pig.builtin.DoubleAbs -->
  <class name="DoubleAbs" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleAbs -->
  <!-- start class org.apache.pig.builtin.DoubleAvg -->
  <class name="DoubleAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="DoubleAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleAvg -->
  <!-- start class org.apache.pig.builtin.DoubleAvg.Final -->
  <class name="DoubleAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleAvg.Final -->
  <!-- start class org.apache.pig.builtin.DoubleAvg.Initial -->
  <class name="DoubleAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleAvg.Initial -->
  <!-- start class org.apache.pig.builtin.DoubleAvg.Intermediate -->
  <class name="DoubleAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.DoubleBase -->
  <class name="DoubleBase" extends="org.apache.pig.builtin.Base"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a tuple with a single Double value
 @return output returns a Double value]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[base class for math udfs that return Double value]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleBase -->
  <!-- start class org.apache.pig.builtin.DoubleMax -->
  <class name="DoubleMax" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMax -->
  <!-- start class org.apache.pig.builtin.DoubleMax.Final -->
  <class name="DoubleMax.Final" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMax.Final -->
  <!-- start class org.apache.pig.builtin.DoubleMax.Intermediate -->
  <class name="DoubleMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.DoubleMin -->
  <class name="DoubleMin" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMin -->
  <!-- start class org.apache.pig.builtin.DoubleMin.Final -->
  <class name="DoubleMin.Final" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMin.Final -->
  <!-- start class org.apache.pig.builtin.DoubleMin.Intermediate -->
  <class name="DoubleMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.DoubleRound -->
  <class name="DoubleRound" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleRound"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, 
 the closest long to the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Given a single data atom it Returns the closest long to the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleRound -->
  <!-- start class org.apache.pig.builtin.DoubleRoundTo -->
  <class name="DoubleRoundTo" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleRoundTo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a numeric value to round, a number of digits to keep, and an optional rounding mode.
 @return output returns a single numeric value, the number with only those digits retained]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ROUND_TO safely rounds a number to a given precision by using an intermediate
 BigDecimal. The too-often seen trick of doing (1000.0 * ROUND(x/1000)) is not
 only hard to read but also fails to produce numerically accurate results.

 Given a single data atom and number of digits, it returns a double extending to the
 given number of decimal places.

 The result is a multiple of ten to the power given by the digits argument: a
 negative value zeros out correspondingly many places to the left of the
 decimal point: ROUND_TO(0.9876543, 3) is 0.988; ROUND_TO(0.9876543, 0) is
 1.0; and ROUND_TO(1234.56, -2) is 1200.0.

 The optional mode argument specifies the {@link java.math.RoundingMode rounding mode};
 by default, {@link java.math.RoundingMode#HALF_EVEN 'HALF_EVEN'} is used.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleRoundTo -->
  <!-- start class org.apache.pig.builtin.DoubleSum -->
  <class name="DoubleSum" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleSum -->
  <!-- start class org.apache.pig.builtin.DoubleSum.Final -->
  <class name="DoubleSum.Final" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleSum.Final -->
  <!-- start class org.apache.pig.builtin.DoubleSum.Intermediate -->
  <class name="DoubleSum.Intermediate" extends="org.apache.pig.builtin.AlgebraicDoubleMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.DoubleSum.Intermediate -->
  <!-- start class org.apache.pig.builtin.ENDSWITH -->
  <class name="ENDSWITH" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ENDSWITH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Pig UDF to test input <code>tuple.get(0)</code> against <code>tuple.get(1)</code>
 to determine if the first argument ends with the string in the second.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ENDSWITH -->
  <!-- start class org.apache.pig.builtin.EqualsIgnoreCase -->
  <class name="EqualsIgnoreCase" extends="org.apache.pig.FilterFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EqualsIgnoreCase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Compares two Strings ignoring case considerations.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.EqualsIgnoreCase -->
  <!-- start class org.apache.pig.builtin.EXP -->
  <class name="EXP" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EXP"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[Given a single data atom it returns the Euler's number e raised to the power of input]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.EXP -->
  <!-- start class org.apache.pig.builtin.FloatAbs -->
  <class name="FloatAbs" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return returns a single numeric value, absolute value of the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatAbs -->
  <!-- start class org.apache.pig.builtin.FloatAvg -->
  <class name="FloatAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="FloatAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatAvg -->
  <!-- start class org.apache.pig.builtin.FloatAvg.Final -->
  <class name="FloatAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatAvg.Final -->
  <!-- start class org.apache.pig.builtin.FloatAvg.Initial -->
  <class name="FloatAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatAvg.Initial -->
  <!-- start class org.apache.pig.builtin.FloatAvg.Intermediate -->
  <class name="FloatAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.FloatMax -->
  <class name="FloatMax" extends="org.apache.pig.builtin.AlgebraicFloatMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMax -->
  <!-- start class org.apache.pig.builtin.FloatMax.Final -->
  <class name="FloatMax.Final" extends="org.apache.pig.builtin.AlgebraicFloatMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMax.Final -->
  <!-- start class org.apache.pig.builtin.FloatMax.Intermediate -->
  <class name="FloatMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicFloatMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.FloatMin -->
  <class name="FloatMin" extends="org.apache.pig.builtin.AlgebraicFloatMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMin -->
  <!-- start class org.apache.pig.builtin.FloatMin.Final -->
  <class name="FloatMin.Final" extends="org.apache.pig.builtin.AlgebraicFloatMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMin.Final -->
  <!-- start class org.apache.pig.builtin.FloatMin.Intermediate -->
  <class name="FloatMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicFloatMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FloatMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.FloatRound -->
  <class name="FloatRound" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatRound"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, 
 the closest long to the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ROUND implements a binding to the Java function
 {@link java.lang.Math#round(float) Math.round(float)}. 
 Given a single data atom it Returns the closest long to the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatRound -->
  <!-- start class org.apache.pig.builtin.FloatRoundTo -->
  <class name="FloatRoundTo" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatRoundTo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a numeric value to round, a number of digits to keep, and an optional rounding mode.
 @return output returns a single numeric value, the number with only those digits retained]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ROUND_TO safely rounds a number to a given precision by using an intermediate
 BigDecimal. The too-often seen trick of doing (1000.0 * ROUND(x/1000)) is not
 only hard to read but also fails to produce numerically accurate results.

 Given a single data atom and number of digits, it returns a float extending to the
 given number of decimal places.

 The result is a multiple of ten to the power given by the digits argument: a
 negative value zeros out correspondingly many places to the left of the
 decimal point: ROUND_TO(0.9876543, 3) is 0.988; ROUND_TO(0.9876543, 0) is
 1.0; and ROUND_TO(1234.56, -2) is 1200.0.

 The optional mode argument specifies the {@link java.math.RoundingMode rounding mode};
 by default, {@link java.math.RoundingMode#HALF_EVEN HALF_EVEN} is used.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatRoundTo -->
  <!-- start class org.apache.pig.builtin.FloatSum -->
  <class name="FloatSum" extends="org.apache.pig.builtin.DoubleSum"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FloatSum -->
  <!-- start class org.apache.pig.builtin.FLOOR -->
  <class name="FLOOR" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FLOOR"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[FLOOR implements a binding to the Java function
 {@link java.lang.Math#floor(double) Math.floor(double)}. Given a single 
 data atom it returns the largest (closest to positive infinity) double 
 value that is less than or equal to the argument and is equal to a 
 mathematical integer.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FLOOR -->
  <!-- start class org.apache.pig.builtin.FunctionWrapperEvalFunc -->
  <class name="FunctionWrapperEvalFunc" extends="org.apache.pig.PrimitiveEvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FunctionWrapperEvalFunc" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Takes the class name of a Function, initializes it using the default constructor and passes
 it to FunctionWrapperEvalFunc(ExceptionalFunction function). Functions must implement either
 com.google.common.base.Function or ExceptionalFunction.
 @param functionClassName function class to initialize]]>
      </doc>
    </constructor>
    <constructor name="FunctionWrapperEvalFunc" type="com.google.common.base.Function"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
      <doc>
      <![CDATA[Determines the input and output types of the Function and initializes the superclass.
 Subclass and call this constructor if a Function with a non-default constructor is required.
 @param function Function to be used by the UDF.]]>
      </doc>
    </constructor>
    <constructor name="FunctionWrapperEvalFunc" type="org.apache.pig.ExceptionalFunction"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
      <doc>
      <![CDATA[Determines the input and output types of the Function and initializes the superclass.
 Subclass and call this constructor if a Function with a non-default constructor is required.
 @param function Function to be used by the UDF.]]>
      </doc>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCounterGroup" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[EvalFunc that wraps an implementation of the Function interface, which is passed as a String
 in the constructor. When resolving the Function class, the Pig UDF package import list is used.
 <P>
 The Function must have a default no-arg constructor, which will be used. For Functions that
 take args in the constructor, initialize the function in a subclass of this one and call
 <code>super(function)</code>.
 <P>
 Example: <code>DEFINE myUdf FunctionWrapperEvalFunc('MyFunction')</code>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.FunctionWrapperEvalFunc -->
  <!-- start class org.apache.pig.builtin.FuncUtils -->
  <class name="FuncUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FuncUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="classesIdentifyingJars" type="java.lang.Class[]"/>
      <doc>
      <![CDATA[Utility function to get a list of containing jars via classes
 @param classesIdentifyingJars classes used to identify containing jars
 @return list of containing jars]]>
      </doc>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="classesIdentifyingJars" type="java.util.List"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.FuncUtils -->
  <!-- start class org.apache.pig.builtin.GenericInvoker -->
  <class name="GenericInvoker" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GenericInvoker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GenericInvoker" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="GenericInvoker" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="GenericInvoker" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[The generic Invoker class does all the common grunt work of setting up an invoker.
 Class-specific non-generic extensions of this class are needed for Pig to know what type
 of return to expect from exec, and to find the appropriate classes through reflection.
 All they have to do is implement the constructors that call into super(). Note that the 
 no-parameter constructor is <b>required</b>, if seemingly nonsensical, for Pig to do its work.
 <p>
 The Invoker family of udfs understand the following class names (all case-independent):
 <li>String
 <li>Long
 <li>Float
 <li>Double
 <li>Int
 <p>
 Invokers can also work with array arguments, represented in Pig as DataBags of single-tuple
 elements. Simply refer to <code>string[]</code>, for example.
 <p>
 This UDF allows one to dynamically invoke Java methods that return a <code>T</code>
 <p>
 Usage of the Invoker family of UDFs (adjust as appropriate):
 <p>
<pre>
 {@code
 -- invoking a static method
 DEFINE StringToLong InvokeForLong('java.lang.Long.valueOf', 'String')
 longs = FOREACH strings GENERATE StringToLong(some_chararray);

 -- invoking a method on an object
 DEFINE StringConcat InvokeForString('java.lang.String.concat', 'String String', 'false')
 concatenations = FOREACH strings GENERATE StringConcat(str1, str2); 
 }
 </pre>
 <p>
 The first argument to the constructor is the full path to desired method.<br>
 The second argument is a list of classes of the method parameters.<br>
 If the method is not static, the first element in this list is the object to invoke the method on.<br>
 The second argument is optional (a no-argument static method is assumed if it is not supplied).<br>
 The third argument is the keyword "static" (or "true") to signify that the method is static. <br>
 The third argument is optional, and true by default.<br>
 <p>
 @param <T>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GenericInvoker -->
  <!-- start class org.apache.pig.builtin.GetDay -->
  <class name="GetDay" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetDay"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetDay extracts the day of a month from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetDay -->
  <!-- start class org.apache.pig.builtin.GetHour -->
  <class name="GetHour" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetHour"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetHour extracts the hour of a day from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetHour -->
  <!-- start class org.apache.pig.builtin.GetMilliSecond -->
  <class name="GetMilliSecond" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetMilliSecond"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetSecond extracts the millisecond of a second from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetMilliSecond -->
  <!-- start class org.apache.pig.builtin.GetMinute -->
  <class name="GetMinute" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetMinute"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetMinute extracts the minute of an hour from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetMinute -->
  <!-- start class org.apache.pig.builtin.GetMonth -->
  <class name="GetMonth" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetMonth"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetMonth extracts the month of a year from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetMonth -->
  <!-- start class org.apache.pig.builtin.GetSecond -->
  <class name="GetSecond" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetSecond"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetSecond extracts the second of a minute from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetSecond -->
  <!-- start class org.apache.pig.builtin.GetWeek -->
  <class name="GetWeek" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetWeek"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetMonth extracts the week of a week year from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetWeek -->
  <!-- start class org.apache.pig.builtin.GetWeekYear -->
  <class name="GetWeekYear" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetWeekYear"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetMonth extracts the week year from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetWeekYear -->
  <!-- start class org.apache.pig.builtin.GetYear -->
  <class name="GetYear" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetYear"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[GetYear extracts the year from a DateTime object.
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:
 
 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.071Z)
 (2008-02-06T02:06:02.062Z)
 (2007-03-05T03:05:03.053Z)
 ...
 
 truncated = FOREACH ISO in GENERATE GetYear(dt) AS year,
     GetMonth(dt) as month,
     GetWeek(dt) as week,
     GetWeekYear(dt) as weekyear,
     GetDay(dt) AS day,
     GetHour(dt) AS hour,
     GetMinute(dt) AS min,
     GetSecond(dt) AS sec;
     GetMillSecond(dt) AS milli;

 DESCRIBE truncated;
 truncated: {year: int,month: int,week: int,weekyear: int,day: int,hour: int,min: int,sec: int,milli: int}

 DUMP truncated;
 (2009,1,2,2009,7,1,7,1,71)
 (2008,2,6,2008,6,2,6,2,62)
 (2007,3,10,2007,5,3,5,3,53)
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.GetYear -->
  <!-- start class org.apache.pig.builtin.HiveUDAF -->
  <class name="HiveUDAF" extends="org.apache.pig.builtin.HiveUDFBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="HiveUDAF" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
    </constructor>
    <constructor name="HiveUDAF" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
    </constructor>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[Use Hive UDAF or GenericUDAF.
 Example:
      define avg HiveUDAF('avg');
      A = load 'mydata' as (name:chararray, num:double);
      B = group A by name;
      C = foreach B generate group, avg(A.num);]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDAF -->
  <!-- start class org.apache.pig.builtin.HiveUDAF.Final -->
  <class name="HiveUDAF.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDAF.Final -->
  <!-- start class org.apache.pig.builtin.HiveUDAF.Initial -->
  <class name="HiveUDAF.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDAF.Initial -->
  <!-- start class org.apache.pig.builtin.HiveUDAF.Intermediate -->
  <class name="HiveUDAF.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermediate" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDAF.Intermediate -->
  <!-- start class org.apache.pig.builtin.HiveUDF -->
  <class name="HiveUDF" extends="org.apache.pig.builtin.HiveUDFBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HiveUDF" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
    </constructor>
    <constructor name="HiveUDF" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Use Hive UDF or GenericUDF.
 Example:
      define sin HiveUDF('sin');
      A = load 'mydata' as (num:double);
      B = foreach A generate sin(num);
 HiveUDF takes an optional second parameter if the Hive UDF require constant parameters
      define in_file HiveUDF('in_file', '(null, "names.txt")');]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDF -->
  <!-- start class org.apache.pig.builtin.HiveUDTF -->
  <class name="HiveUDTF" extends="org.apache.pig.builtin.HiveUDFBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HiveUDTF" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="HiveUDTF" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="InstantiationException" type="java.lang.InstantiationException"/>
      <exception name="IllegalAccessException" type="java.lang.IllegalAccessException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="needEndOfAllInputProcessing" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setEndOfAllInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endOfAllInput" type="boolean"/>
    </method>
    <doc>
    <![CDATA[Use Hive GenericUDTF.
 Example:
      define explode HiveUDTF('explode');
      A = load 'mydata' as (a0:{(b0:chararray)});
      B = foreach A generate flatten(explode(a0));]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.HiveUDTF -->
  <!-- start class org.apache.pig.builtin.HoursBetween -->
  <class name="HoursBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HoursBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>HoursBetween returns the number of hours between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.HoursBetween -->
  <!-- start class org.apache.pig.builtin.INDEXOF -->
  <class name="INDEXOF" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="INDEXOF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Method invoked on every tuple during foreach evaluation
 @param input tuple; first column is assumed to have the column to convert
                     the second column is the string we search for
                     the third is an optional column from where to start the search
 @exception java.io.IOException
 @return index of first occurrence, or null in case of processing error]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[INDEXOF implements eval function to search for a string
 Example:
      A = load 'mydata' as (name);
      B = foreach A generate INDEXOF(name, ",");]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.INDEXOF -->
  <!-- start class org.apache.pig.builtin.IntAbs -->
  <class name="IntAbs" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, absolute value of the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ABS implements a binding to the Java function
 {@link java.lang.Math#abs(double) Math.abs(int)} for computing the
 absolute value of the argument. The returned value will be an int which is 
 absolute value of the input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IntAbs -->
  <!-- start class org.apache.pig.builtin.IntAvg -->
  <class name="IntAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="IntAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IntAvg -->
  <!-- start class org.apache.pig.builtin.IntAvg.Final -->
  <class name="IntAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntAvg.Final -->
  <!-- start class org.apache.pig.builtin.IntAvg.Initial -->
  <class name="IntAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntAvg.Initial -->
  <!-- start class org.apache.pig.builtin.IntAvg.Intermediate -->
  <class name="IntAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.IntMax -->
  <class name="IntMax" extends="org.apache.pig.builtin.AlgebraicIntMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IntMax -->
  <!-- start class org.apache.pig.builtin.IntMax.Final -->
  <class name="IntMax.Final" extends="org.apache.pig.builtin.AlgebraicIntMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntMax.Final -->
  <!-- start class org.apache.pig.builtin.IntMax.Intermediate -->
  <class name="IntMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicIntMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.IntMin -->
  <class name="IntMin" extends="org.apache.pig.builtin.AlgebraicIntMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IntMin -->
  <!-- start class org.apache.pig.builtin.IntMin.Final -->
  <class name="IntMin.Final" extends="org.apache.pig.builtin.AlgebraicIntMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntMin.Final -->
  <!-- start class org.apache.pig.builtin.IntMin.Intermediate -->
  <class name="IntMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicIntMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.IntMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.IntSum -->
  <class name="IntSum" extends="org.apache.pig.builtin.LongSum"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IntSum -->
  <!-- start class org.apache.pig.builtin.INVERSEMAP -->
  <class name="INVERSEMAP" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="INVERSEMAP"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This UDF accepts a Map as input with values of any primitive data type. <br />
 UDF swaps keys with values and returns the new inverse Map. <br />
 Note in case original values are non-unique, the resulting Map would <br />
 contain String Key -> DataBag of values. Here the bag of values is composed <br />
 of the original keys having the same value. <br />

 <pre>
 Note: 1. UDF accepts Map with Values of primitive data type
       2. UDF returns Map<String,DataBag>
 <code>
 grunt> cat 1data
 [open#1,1#2,11#2]
 [apache#2,3#4,12#24]

 <br />
 grunt> a = load 'data' as (M:[int]);
 grunt> b = foreach a generate INVERSEMAP($0);

 grunt> dump b;
 ([2#{(1),(11)},apache#{(open)}])
 ([hadoop#{(apache),(12)},4#{(3)}])
 </code>
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.INVERSEMAP -->
  <!-- start class org.apache.pig.builtin.InvokeForDouble -->
  <class name="InvokeForDouble" extends="org.apache.pig.builtin.GenericInvoker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokeForDouble"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvokeForDouble" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForDouble" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForDouble" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <doc>
    <![CDATA[@see GenericInvoker]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.InvokeForDouble -->
  <!-- start class org.apache.pig.builtin.InvokeForFloat -->
  <class name="InvokeForFloat" extends="org.apache.pig.builtin.GenericInvoker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokeForFloat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvokeForFloat" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForFloat" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForFloat" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <doc>
    <![CDATA[@see GenericInvoker]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.InvokeForFloat -->
  <!-- start class org.apache.pig.builtin.InvokeForInt -->
  <class name="InvokeForInt" extends="org.apache.pig.builtin.GenericInvoker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokeForInt"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvokeForInt" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForInt" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForInt" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <doc>
    <![CDATA[@see GenericInvoker]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.InvokeForInt -->
  <!-- start class org.apache.pig.builtin.InvokeForLong -->
  <class name="InvokeForLong" extends="org.apache.pig.builtin.GenericInvoker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokeForLong"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvokeForLong" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForLong" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForLong" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <doc>
    <![CDATA[@see GenericInvoker]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.InvokeForLong -->
  <!-- start class org.apache.pig.builtin.InvokeForString -->
  <class name="InvokeForString" extends="org.apache.pig.builtin.GenericInvoker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokeForString"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvokeForString" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForString" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="InvokeForString" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <doc>
    <![CDATA[@see GenericInvoker]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.InvokeForString -->
  <!-- start class org.apache.pig.builtin.Invoker -->
  <class name="Invoker" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Invoker" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <constructor name="Invoker" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ClassNotFoundException" type="java.lang.ClassNotFoundException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SecurityException" type="java.lang.SecurityException"/>
      <exception name="NoSuchMethodException" type="java.lang.NoSuchMethodException"/>
    </constructor>
    <method name="getReturnType" return="java.lang.reflect.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="invoke" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.Invoker -->
  <!-- start interface org.apache.pig.builtin.InvokerFunction -->
  <interface name="InvokerFunction"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="eval" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </interface>
  <!-- end interface org.apache.pig.builtin.InvokerFunction -->
  <!-- start class org.apache.pig.builtin.InvokerGenerator -->
  <class name="InvokerGenerator" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvokerGenerator" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.InvokerGenerator -->
  <!-- start class org.apache.pig.builtin.IsEmpty -->
  <class name="IsEmpty" extends="org.apache.pig.FilterFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IsEmpty"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Determine whether a bag or map is empty.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.IsEmpty -->
  <!-- start class org.apache.pig.builtin.JsonLoader -->
  <class name="JsonLoader" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="JsonLoader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="JsonLoader" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="reader" type="org.apache.hadoop.mapreduce.RecordReader"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.pig.ResourceSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A loader for data stored using {@link JsonStorage}.  This is not a generic
 JSON loader. It depends on the schema being stored with the data when
 conceivably you could write a loader that determines the schema from the
 JSON.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.JsonLoader -->
  <!-- start class org.apache.pig.builtin.JsonMetadata -->
  <class name="JsonMetadata" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadMetadata"/>
    <implements name="org.apache.pig.StoreMetadata"/>
    <constructor name="JsonMetadata"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="JsonMetadata" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="findMetaFile" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="metaname" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[.
 Given a path, which may represent a glob pattern, a directory,
 comma separated files/glob patterns or a file, this method
 finds the set of relevant metadata files on the storage system.
 The algorithm for finding the metadata file is as follows:
 <p>
 For each object represented by the path (either directly, or via a glob):
   If object is a directory, and path/metaname exists, use that as the metadata file.
   Else if parentPath/metaname exists, use that as the metadata file.
 <p>
 Resolving conflicts, merging the metadata, etc, is not handled by this method and should be
 taken care of by downstream code.
 <p>
 @param path      Path, as passed in to a LoadFunc (may be a Hadoop glob)
 @param metaname    Metadata file designation, such as .pig_schema or .pig_stats
 @param conf      configuration object
 @return Set of element descriptors for all metadata files associated with the files on the path.]]>
      </doc>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[For JsonMetadata schema is considered optional
 This method suppresses (and logs) errors if they are encountered.]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <param name="isSchemaOn" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Read the schema from json metadata file
 If isSchemaOn parameter is false, the errors are suppressed and logged
 @param location
 @param job
 @param isSchemaOn
 @return schema
 @throws IOException]]>
      </doc>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[For JsonMetadata stats are considered optional
 This method suppresses (and logs) errors if they are encountered.
 @see org.apache.pig.LoadMetadata#getStatistics(String, Job)]]>
      </doc>
    </method>
    <method name="storeStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setFieldDel"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldDel" type="byte"/>
    </method>
    <method name="setRecordDel"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="recordDel" type="byte"/>
    </method>
    <doc>
    <![CDATA[Reads and Writes metadata using JSON in metafiles next to the data.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.JsonMetadata -->
  <!-- start class org.apache.pig.builtin.JsonStorage -->
  <class name="JsonStorage" extends="org.apache.pig.StoreFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreMetadata"/>
    <implements name="org.apache.pig.StoreResources"/>
    <constructor name="JsonStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="fixSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCacheFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.pig.ResourceSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A JSON Pig store function.  Each Pig tuple is stored on one line (as one
 value for TextOutputFormat) so that it can be read easily using
 TextInputFormat.  Pig tuples are mapped to JSON objects.  Pig bags are
 mapped to JSON arrays.  Pig maps are also mapped to JSON objects.  Maps are
 assumed to be string to string.  A schema is stored in a side file to deal
 with mapping between JSON and Pig types. The schema file share the same format
 as the one we use in PigStorage.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.JsonStorage -->
  <!-- start class org.apache.pig.builtin.KEYSET -->
  <class name="KEYSET" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="KEYSET"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This UDF takes a Map and returns a Bag containing the keyset. <br />

 <pre>
 <code>
 grunt> cat data
 [open#apache,1#2,11#2]
 [apache#hadoop,3#4,12#hadoop]

 grunt> a = load 'data' as (M:[]);
 grunt> b = foreach a generate KEYSET($0);
 grunt> dump b;
 ({(open),(1),(11)})
 ({(3),(apache),(12)})
 </code>
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.KEYSET -->
  <!-- start class org.apache.pig.builtin.LAST_INDEX_OF -->
  <class name="LAST_INDEX_OF" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LAST_INDEX_OF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Finds the last location of a substring in a given string.
 @param input tuple:<ol>
 <li>the string to process
 <li>the substring to find
 </ol>
 @exception java.io.IOException
 @return last location of substring, or null in case of processing errors.]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[string.INSTR implements eval function to search for the last occurrence of a string
 Returns null on error
 Example:
 <code>
      A = load 'mydata' as (name);
      B = foreach A generate LASTINDEXOF(name, ",");
 </code>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LAST_INDEX_OF -->
  <!-- start class org.apache.pig.builtin.LCFIRST -->
  <class name="LCFIRST" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LCFIRST"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[lower-case the first character of a string]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LCFIRST -->
  <!-- start class org.apache.pig.builtin.LOG -->
  <class name="LOG" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOG"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[LOG implements a binding to the Java function
 {@link java.lang.Math#log(double) Math.log(double)}. 
 Given a single data atom it returns the natural 
 logarithm (base e)  of a double]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LOG -->
  <!-- start class org.apache.pig.builtin.LOG10 -->
  <class name="LOG10" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOG10"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[LOG10 implements a binding to the Java function
 {@link java.lang.Math#log10(double) Math.log10(double)}. 
 Given a single data atom it returns the base 10 logarithm of a double]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LOG10 -->
  <!-- start class org.apache.pig.builtin.LongAbs -->
  <class name="LongAbs" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongAbs"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, absolute value of the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongAbs -->
  <!-- start class org.apache.pig.builtin.LongAvg -->
  <class name="LongAvg" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="LongAvg"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="combine" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="values" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="count" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="sum" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link AVG}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LongAvg -->
  <!-- start class org.apache.pig.builtin.LongAvg.Final -->
  <class name="LongAvg.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongAvg.Final -->
  <!-- start class org.apache.pig.builtin.LongAvg.Initial -->
  <class name="LongAvg.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongAvg.Initial -->
  <!-- start class org.apache.pig.builtin.LongAvg.Intermediate -->
  <class name="LongAvg.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongAvg.Intermediate -->
  <!-- start class org.apache.pig.builtin.LongMax -->
  <class name="LongMax" extends="org.apache.pig.builtin.AlgebraicLongMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LongMax -->
  <!-- start class org.apache.pig.builtin.LongMax.Final -->
  <class name="LongMax.Final" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongMax.Final -->
  <!-- start class org.apache.pig.builtin.LongMax.Intermediate -->
  <class name="LongMax.Intermediate" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.LongMin -->
  <class name="LongMin" extends="org.apache.pig.builtin.AlgebraicLongMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LongMin -->
  <!-- start class org.apache.pig.builtin.LongMin.Final -->
  <class name="LongMin.Final" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongMin.Final -->
  <!-- start class org.apache.pig.builtin.LongMin.Intermediate -->
  <class name="LongMin.Intermediate" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.LongSum -->
  <class name="LongSum" extends="org.apache.pig.builtin.AlgebraicLongMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongSum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SUM}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LongSum -->
  <!-- start class org.apache.pig.builtin.LongSum.Final -->
  <class name="LongSum.Final" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongSum.Final -->
  <!-- start class org.apache.pig.builtin.LongSum.Intermediate -->
  <class name="LongSum.Intermediate" extends="org.apache.pig.builtin.AlgebraicLongMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.LongSum.Intermediate -->
  <!-- start class org.apache.pig.builtin.LOWER -->
  <class name="LOWER" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOWER"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Method invoked on every tuple during foreach evaluation
 @param input tuple; first column is assumed to have the column to convert
 @exception java.io.IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This method gives a name to the column.
 @param input - schema of the input data
 @return schema of the input data]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[LOWER implements eval function to convert a string to lower case
 Example:
      A = load 'mydata' as (name);
      B = foreach A generate LOWER(name);]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LOWER -->
  <!-- start class org.apache.pig.builtin.LTRIM -->
  <class name="LTRIM" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LTRIM"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Returns a string, with only leading whitespace omitted.
 Implements a binding to the Java function {@link java.lang.String#trim() String.trim()}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.LTRIM -->
  <!-- start class org.apache.pig.builtin.MapSize -->
  <class name="MapSize" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapSize"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SIZE}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MapSize -->
  <!-- start class org.apache.pig.builtin.MAX -->
  <class name="MAX" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MAX"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Generates the maximum of a set of values. This class implements
 {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 MAX can operate on any numeric type and on chararrays.  It can also operate on bytearrays,
 which it will cast to doubles.    It expects a bag of
 tuples of one record each.  If Pig knows from the schema that this function
 will be passed a bag of integers or longs, it will use a specially adapted version of
 MAX that uses integer arithmetic for comparing the data.  The return type
 of MAX will match the input type.
 <p>
 MAX implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MAX -->
  <!-- start class org.apache.pig.builtin.MAX.Final -->
  <class name="MAX.Final" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.MAX.Final -->
  <!-- start class org.apache.pig.builtin.MAX.Intermediate -->
  <class name="MAX.Intermediate" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.MAX.Intermediate -->
  <!-- start class org.apache.pig.builtin.MilliSecondsBetween -->
  <class name="MilliSecondsBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MilliSecondsBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>MilliSecondsBetween returns the number of milliseconds between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MilliSecondsBetween -->
  <!-- start class org.apache.pig.builtin.MIN -->
  <class name="MIN" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MIN"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Generates the minimum of a set of values. This class implements
 {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 MIN can operate on any numeric type and on chararrays.  It can also operate on bytearrays,
 which it will cast to doubles.    It expects a bag of
 tuples of one record each.  If Pig knows from the schema that this function
 will be passed a bag of integers or longs, it will use a specially adapted version of
 MIN that uses integer arithmetic for comparing the data.  The return type
 of MIN will match the input type.
 <p>
 MIN implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MIN -->
  <!-- start class org.apache.pig.builtin.MIN.Final -->
  <class name="MIN.Final" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.MIN.Final -->
  <!-- start class org.apache.pig.builtin.MIN.Intermediate -->
  <class name="MIN.Intermediate" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.MIN.Intermediate -->
  <!-- start class org.apache.pig.builtin.MinutesBetween -->
  <class name="MinutesBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MinutesBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>MinutesBetween returns the number of minutes between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MinutesBetween -->
  <!-- start interface org.apache.pig.builtin.MonitoredUDF -->
  <interface name="MonitoredUDF"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="timeUnit" return="java.util.concurrent.TimeUnit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Time Units in which to measure timeout value.
 @return Time Units in which to measure timeout value.]]>
      </doc>
    </method>
    <method name="duration" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Number of time units after which the execution should be halted and default returned.
 @return Number of time units after which the execution should be halted and default returned.]]>
      </doc>
    </method>
    <method name="intDefault" return="int[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="longDefault" return="long[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="doubleDefault" return="double[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="floatDefault" return="float[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="stringDefault" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="errorCallback" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[UDF author can implement a static extension of MonitoredUDFExecutor.ErrorCallback and provide its class
 to the annotation in order to perform custom error handling.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Describes how the execution of a UDF should be monitored, and what 
 to do if it times out.
 <p>
 NOTE: does not work with UDFs that implement the Accumulator interface
 <p>
     
 Setting a default value will cause it to be used instead of null when the UDF times out.
 The appropriate value among in, long, string, etc, is used.
 The default fields of these annotations are arrays for Java reasons I won't bore you with.
 <p>
 Set them as if they were primitives: <code>@MonitoredUDF( intDefault=5 )</code>
 <p>
 There is currently no way to provide a default ByteArray, Tuple, Map, or Bag. Null will always be used for those.
 <p>
 Currently this annotation is ignored when the Accumulator interface is used.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.builtin.MonitoredUDF -->
  <!-- start class org.apache.pig.builtin.MonthsBetween -->
  <class name="MonthsBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MonthsBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>MonthsBetween returns the number of months between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.MonthsBetween -->
  <!-- start interface org.apache.pig.builtin.Nondeterministic -->
  <interface name="Nondeterministic"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[<p>A non-deterministic UDF is one that can produce different results when
 invoked on the same input. Examples of non-deterministic behavior might be,
 for example, getCurrentTime() or random().</p>
 <p>Certain Pig optimizations depend on UDFs being deterministic. It is therefore
 very important for correctness that non-deterministic UDFs be annotated as such.</p>]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.builtin.Nondeterministic -->
  <!-- start class org.apache.pig.builtin.OrcStorage -->
  <class name="OrcStorage" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <implements name="org.apache.pig.LoadPushDown"/>
    <implements name="org.apache.pig.LoadPredicatePushdown"/>
    <implements name="org.apache.pig.StoreResources"/>
    <constructor name="OrcStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="OrcStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rs" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getShipFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFeatures" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getPredicateFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSupportedExpressionTypes" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPushdownPredicate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="in" type="org.apache.hadoop.mapreduce.RecordReader"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mRequiredColumns" type="boolean[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A load function and store function for ORC file.
 An optional constructor argument is provided that allows one to customize
 advanced behaviors. A list of available options is below:
 <ul>
 <li><code>-s, --stripeSize</code> Set the stripe size for the file
 <li><code>-r, --rowIndexStride</code> Set the distance between entries in the row index
 <li><code>-b, --bufferSize</code> The size of the memory buffers used for compressing and storing the
 stripe in memory
 <li><code>-p, --blockPadding</code> Sets whether the HDFS blocks are padded to prevent stripes
 from straddling blocks
 <li><code>-c, --compress</code> Sets the generic compression that is used to compress the data.
 Valid codecs are: NONE, ZLIB, SNAPPY, LZO
 <li><code>-v, --version</code> Sets the version of the file that will be written
 </ul>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.OrcStorage -->
  <!-- start class org.apache.pig.builtin.OrcStorage.NonEmptyOrcFileFilter -->
  <class name="OrcStorage.NonEmptyOrcFileFilter" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.fs.PathFilter"/>
    <constructor name="NonEmptyOrcFileFilter" type="org.apache.hadoop.fs.FileSystem"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="org.apache.hadoop.fs.Path"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.OrcStorage.NonEmptyOrcFileFilter -->
  <!-- start interface org.apache.pig.builtin.OutputSchema -->
  <interface name="OutputSchema"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An EvalFunc can annotated with an <code>OutputSchema</code> to
 tell Pig what the expected output is. This can be used in place
 of {@link EvalFunc#outputSchema(Schema)}
 <p>
 The default implementation of {@link EvalFunc#outputSchema(Schema)}
 will look at this annotation and return an interpreted schema, if the annotation is present.
 <p>
 Implementing a custom {@link EvalFunc#outputSchema(Schema)} will
 override the annotation (unless you deal with it explicitly, or by calling <code>super.outputSchema(schema)</code>).
 <p>
 Here's an example of a complex schema declared in an annotation:
 <code>@OutputSchema("y:bag{t:tuple(len:int,word:chararray)}")</code>]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.builtin.OutputSchema -->
  <!-- start class org.apache.pig.builtin.ParquetLoader -->
  <class name="ParquetLoader" extends="org.apache.pig.LoadFuncMetadataWrapper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadPushDown"/>
    <constructor name="ParquetLoader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <constructor name="ParquetLoader" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFeatures" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Wrapper class which will delegate calls to parquet.pig.ParquetLoader]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ParquetLoader -->
  <!-- start class org.apache.pig.builtin.ParquetStorer -->
  <class name="ParquetStorer" extends="org.apache.pig.StoreFuncMetadataWrapper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParquetStorer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[{@inheritDoc}]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Wrapper class which will delegate calls to parquet.pig.ParquetStorer]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ParquetStorer -->
  <!-- start class org.apache.pig.builtin.PigStorage -->
  <class name="PigStorage" extends="org.apache.pig.FileInputLoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadPushDown"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <implements name="org.apache.pig.StoreMetadata"/>
    <implements name="org.apache.pig.OverwritableStoreFunc"/>
    <constructor name="PigStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigStorage" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs a Pig loader that uses specified character as a field delimiter.

 @param delimiter
            the single byte character that is used to separate fields.
            ("\t" is the default.)
 @throws ParseException]]>
      </doc>
    </constructor>
    <constructor name="PigStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructs a Pig loader that uses specified character as a field delimiter.
 <p>
 Understands the following options, which can be specified in the second paramter:
 <ul>
 <li><code>-schema</code> Loads / Stores the schema of the relation using a hidden JSON file.
 <li><code>-noschema</code> Ignores a stored schema during loading.
 <li><code>-tagFile</code> Appends input source file name to beginning of each tuple.
 <li><code>-tagPath</code> Appends input source file path to beginning of each tuple.
 </ul>
 @param delimiter the single byte character that is used to separate fields.
 @param options a list of options that can be used to modify PigStorage behavior
 @throws ParseException]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readField" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <param name="start" type="int"/>
      <param name="end" type="int"/>
      <doc>
      <![CDATA[Read the bytes between start and end into a DataByteArray for inclusion in the return tuple.
 @param bytes byte array to copy data from
 @param start starting point to copy from
 @param end ending point to copy to, exclusive.
 @return]]>
      </doc>
    </method>
    <method name="pushProjection" return="org.apache.pig.LoadPushDown.RequiredFieldResponse"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFieldList" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.builtin.PigStorage"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getFeatures" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="shouldOverwrite" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="cleanupOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="in" type="org.apache.hadoop.mapreduce.RecordReader"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="signature" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.pig.ResourceSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="caster" type="org.apache.pig.LoadCaster"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mRequiredColumns" type="boolean[]"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A load function that parses a line of input into fields using a character delimiter.
 The default delimiter is a tab. You can specify any character as a literal ("a"),
 a known escape character ("\\t"), or a dec or hex value ("\\u001", "\\x0A").
 <p>
 An optional second constructor argument is provided that allows one to customize
 advanced behaviors. A list of available options is below:
 <ul>
 <li><code>-schema</code> Reads/Stores the schema of the relation using a
  hidden JSON file.
 <li><code>-noschema</code> Ignores a stored schema during loading.
 <li><code>-tagFile</code> Appends input source file name to beginning of each tuple.
 <li><code>-tagPath</code> Appends input source file path to beginning of each tuple.
 </ul>
 <p>
 <h3>Schemas</h3>
 If <code>-schema</code> is specified, a hidden ".pig_schema" file is created in the output directory
 when storing data. It is used by PigStorage (with or without -schema) during loading to determine the
 field names and types of the data without the need for a user to explicitly provide the schema in an
 <code>as</code> clause, unless <code>-noschema</code> is specified. No attempt to merge conflicting
 schemas is made during loading. The first schema encountered during a file system scan is used.
 If the schema file is not present while '-schema' option is used during loading,
 it results in an error.
 <p>
 In addition, using <code>-schema</code> drops a ".pig_headers" file in the output directory.
 This file simply lists the delimited aliases. This is intended to make export to tools that can read
 files with header lines easier (just cat the header to your data).
 <p>
 <h3>Source tagging</h3>
 If<code>-tagFile</code> is specified, PigStorage will prepend input split name to each Tuple/row.
 Usage: A = LOAD 'input' using PigStorage(',','-tagFile'); B = foreach A generate $0;
 The first field (0th index) in each Tuple will contain input file name.
 If<code>-tagPath</code> is specified, PigStorage will prepend input split path to each Tuple/row.
 Usage: A = LOAD 'input' using PigStorage(',','-tagPath'); B = foreach A generate $0;
 The first field (0th index) in each Tuple will contain input file path
 <p>
 Note that regardless of whether or not you store the schema, you <b>always</b> need to specify
 the correct delimiter to read your data. If you store reading delimiter "#" and then load using
 the default delimiter, your data will not be parsed correctly.

 <h3>Compression</h3>
 Storing to a directory whose name ends in ".bz2" or ".gz" or ".lzo" (if you have installed support
 for LZO compression in Hadoop) will automatically use the corresponding compression codec.<br>
 <code>output.compression.enabled</code> and <code>output.compression.codec</code> job properties
 also work.
 <p>
 Loading from directories ending in .bz2 or .bz works automatically; other compression formats are not
 auto-detected on loading.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.PigStorage -->
  <!-- start class org.apache.pig.builtin.PigStreaming -->
  <class name="PigStreaming" extends="org.apache.pig.PigStreamingBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigStreaming"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The constructor that uses the default field delimiter.]]>
      </doc>
    </constructor>
    <constructor name="PigStreaming" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The constructor that accepts a user-specified field
 delimiter.

 @param delimiter a <code>String</code> specifying the field
 delimiter.]]>
      </doc>
    </constructor>
    <method name="serializeToBytes" return="org.apache.pig.data.WritableByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <param name="offset" type="int"/>
      <param name="length" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[The default implementation of {@link PigStreamingBase}.
 It converts tuples into <code>fieldDel</code> separated lines
 and <code>fieldDel</code> separated lines into tuples.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.PigStreaming -->
  <!-- start class org.apache.pig.builtin.PluckTuple -->
  <class name="PluckTuple" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PluckTuple" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PluckTuple" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This is a UDF which allows the user to specify a string prefix, and then
 filter for the columns in a relation that begin with that prefix.

 Example:

 1) Prefix
 a = load 'a' as (x, y);
 b = load 'b' as (x, y);
 c = join a by x, b by x;
 DEFINE pluck PluckTuple('a::');
 d = foreach c generate FLATTEN(pluck(*));
 describe c;
 c: {a::x: bytearray,a::y: bytearray,b::x: bytearray,b::y: bytearray}
 describe d;
 d: {plucked::a::x: bytearray,plucked::a::y: bytearray}

 2) Regex
 a = load 'a' as (x, y);
 b = load 'b' as (x, y);
 c = join a by x, b by x;
 DEFINE pluck PluckTuple('.*::y');
 d = foreach c generate FLATTEN(pluck(*));
 describe c;
 c: {a::x: bytearray,a::y: bytearray,b::x: bytearray,b::y: bytearray}
 describe d;
 d: {plucked::a::y: bytearray,plucked::a::y: bytearray}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.PluckTuple -->
  <!-- start class org.apache.pig.builtin.RANDOM -->
  <class name="RANDOM" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RANDOM"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="RANDOM" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="resetSeedUniquifier"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Return a random double value.  Whatever arguments are passed to this UDF
 are ignored.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.RANDOM -->
  <!-- start class org.apache.pig.builtin.REGEX_EXTRACT -->
  <class name="REGEX_EXTRACT" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="REGEX_EXTRACT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="REGEX_EXTRACT" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>String RegexExtract(String expression, String regex, int match_index)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>expression</code>-<code>source string</code>.</dd>
 <dd><code>regex</code>-<code>regular expression</code>.</dd>
 <dd><code>match_index</code>-<code>index of the group to extract</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>extracted group, if fail, return null</code>.</dd>
 <dt><b>Matching strategy:</b></dt>
 <dd>Try to only match the first sequence by using {@link Matcher#find()} instead of
 {@link Matcher#matches()} (default useMatches=false).</dd>
 <dd><code>DEFINE NON_GREEDY_EXTRACT REGEX_EXTRACT('true');</code></dd>
 </dl>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.REGEX_EXTRACT -->
  <!-- start class org.apache.pig.builtin.REGEX_EXTRACT_ALL -->
  <class name="REGEX_EXTRACT_ALL" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="REGEX_EXTRACT_ALL"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="REGEX_EXTRACT_ALL" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>String RegexExtractAll(String expression, String regex)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>expression</code>-<code>source string</code>.</dd>
 <dd><code>regex</code>-<code>regular expression</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>A tuple of matched strings</code>.</dd>
 <dt><b>Matching strategy:</b></dt>
 <dd>Trying to match the entire input by using {@link Matcher#matches()} instead of
 {@link Matcher#find()} (default useMatches=true).</dd>
 <dd><code>DEFINE GREEDY_EXTRACT REGEX_EXTRACT_ALL('false');</code></dd>
 </dl>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.REGEX_EXTRACT_ALL -->
  <!-- start class org.apache.pig.builtin.REGEX_SEARCH -->
  <class name="REGEX_SEARCH" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="REGEX_SEARCH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Search and find all matched characters in a string with a given
 regular expression.

 Example:

 a = LOAD 'mydata' AS (name:chararray);
 b = FOREACH A GENERATE REGEX_SEARCH(name, 'regEx');

 input tuple: the first field is a string on which performs regular expression matching;
 the second field is the regular expression;]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.REGEX_SEARCH -->
  <!-- start class org.apache.pig.builtin.REPLACE -->
  <class name="REPLACE" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="REPLACE"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Method invoked on every tuple during foreach evaluation
 @param input tuple; first column is assumed to have the column to convert
 @exception java.io.IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[REPLACE implements eval function to replace part of a string.
 Example:<code>
      A = load 'mydata' as (name);
      B = foreach A generate REPLACE(name, 'blabla', 'bla');
 The first argument is a string on which to perform the operation. The second argument
 is treated as a regular expression. The third argument is the replacement string.
 This is a wrapper around Java's String.replaceAll(String, String);]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.REPLACE -->
  <!-- start class org.apache.pig.builtin.RollupDimensions -->
  <class name="RollupDimensions" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RollupDimensions"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="RollupDimensions" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Produces a DataBag with hierarchy of values (from the most detailed level of
 aggregation to most general level of aggregation) of the specified dimensions
 For example, (a, b, c) will produce the following bag:
 
 <pre>
 { (a, b, c), (a, b, null), (a, null, null), (null, null, null) }
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.RollupDimensions -->
  <!-- start class org.apache.pig.builtin.ROUND -->
  <class name="ROUND" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ROUND"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a single numeric value
 @return output returns a single numeric value, 
 the closest long to the argument]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ROUND implements a binding to the Java function
 {@link java.lang.Math#round(double) Math.round(double)}. 
 Given a single data atom it Returns the closest long to the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ROUND -->
  <!-- start class org.apache.pig.builtin.ROUND_TO -->
  <class name="ROUND_TO" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ROUND_TO"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[java level API
 @param input expects a numeric value to round, a number of digits to keep, and an optional rounding mode.
 @return output returns a single numeric value, the number with only those digits retained]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ROUND_TO safely rounds a number to a given precision by using an intermediate
 BigDecimal. The too-often seen trick of doing (1000.0 * ROUND(x/1000)) is not
 only hard to read but also fails to produce numerically accurate results.

 Given a single data atom and number of digits, it returns a double extending to the
 given number of decimal places.

 The result is a multiple of ten to the power given by the digits argument: a
 negative value zeros out correspondingly many places to the left of the
 decimal point: ROUND_TO(0.9876543, 3) is 0.988; ROUND_TO(0.9876543, 0) is
 1.0; and ROUND_TO(1234.56, -2) is 1200.0.

 The optional mode argument specifies the {@link java.math.RoundingMode rounding mode};
 by default, {@link java.math.RoundingMode#HALF_EVEN HALF_EVEN} is used.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ROUND_TO -->
  <!-- start class org.apache.pig.builtin.RoundRobinPartitioner -->
  <class name="RoundRobinPartitioner" extends="org.apache.hadoop.mapreduce.Partitioner"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <constructor name="RoundRobinPartitioner"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.Writable"/>
      <param name="value" type="org.apache.hadoop.io.Writable"/>
      <param name="numPartitions" type="int"/>
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="PIG_ROUND_ROBIN_PARTITIONER_BATCH_SIZE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Batch size for round robin partitioning. Batch size number of records
 will be distributed to each partition in a round robin fashion. Default
 value is 0 which distributes each record in a circular fashion. Higher
 number for batch size can be used to increase probability of keeping
 similar records in the same partition if output is already sorted and get
 better compression.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[This partitioner should be used with extreme caution and only in cases
 where the order of output records is guaranteed to be same. If the order of
 output records can vary on retries which is mostly the case, map reruns
 due to shuffle fetch failures can lead to data being partitioned differently
 and result in incorrect output due to loss or duplication of data.
 Refer PIG-5041 for more details.

 This will be removed in the next release as it is risky to use in most cases.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.RoundRobinPartitioner -->
  <!-- start class org.apache.pig.builtin.RTRIM -->
  <class name="RTRIM" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RTRIM"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Returns a string, with only tailing whitespace omitted.
 Implements a binding to the Java function {@link java.lang.String#trim() String.trim()}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.RTRIM -->
  <!-- start class org.apache.pig.builtin.SecondsBetween -->
  <class name="SecondsBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SecondsBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>SecondsBetween returns the number of seconds between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SecondsBetween -->
  <!-- start class org.apache.pig.builtin.SIN -->
  <class name="SIN" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SIN"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[SIN implements a binding to the Java function
 {@link java.lang.Math#sin(double) Math.sin(double)}. 
 Given a single data atom it Returns the sine of the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SIN -->
  <!-- start class org.apache.pig.builtin.SINH -->
  <class name="SINH" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SINH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[SINH implements a binding to the Java function
 {@link java.lang.Math#sinh(double) Math.sinh(double)}. 
 Given a single data atom it Returns the hyperbolic sine of the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SINH -->
  <!-- start class org.apache.pig.builtin.SIZE -->
  <class name="SIZE" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SIZE"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Generates the size of the argument passed to it.  For bytearrays this
 means the number of bytes.  For charrays the number of characters.  For
 bags the number of tuples, for tuples the number of fields, and for maps
 the number of keyvalue pairs.  For all other types the value of 1 is
 always returned.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SIZE -->
  <!-- start class org.apache.pig.builtin.SPRINTF -->
  <class name="SPRINTF" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SPRINTF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getSchemaType" return="org.apache.pig.EvalFunc.SchemaType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Formatted strings using java.util.Formatter

 See http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

 ex:
     SPRINTF('%2$10s %1$-17s %2$,10d %2$8x %3$10.3f %4$1TFT%<tT%<tz',
         city, pop_2011, (float)(pop_2011/69.0f), (long)(pop_2011 * 1000000L));

     -'   8244910 New York           8,244,910   7dceae 119491.453 2231-04-09T23:46:40-0500']]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SPRINTF -->
  <!-- start class org.apache.pig.builtin.SQRT -->
  <class name="SQRT" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SQRT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[SQRT implements a binding to the Java function
 {@link java.lang.Math#sqrt(double) Math.sqrt(double)}. 
 Given a single data atom it Returns the square root of the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SQRT -->
  <!-- start class org.apache.pig.builtin.STARTSWITH -->
  <class name="STARTSWITH" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="STARTSWITH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Pig UDF to test input <code>tuple.get(0)</code> against <code>tuple.get(1)</code>
 to determine if the first argument starts with the string in the second.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.STARTSWITH -->
  <!-- start class org.apache.pig.builtin.StringConcat -->
  <class name="StringConcat" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StringConcat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getSchemaType" return="org.apache.pig.EvalFunc.SchemaType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link CONCAT}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.StringConcat -->
  <!-- start class org.apache.pig.builtin.StringMax -->
  <class name="StringMax" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="StringMax"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="max" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MAX}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.StringMax -->
  <!-- start class org.apache.pig.builtin.StringMax.Final -->
  <class name="StringMax.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMax.Final -->
  <!-- start class org.apache.pig.builtin.StringMax.Initial -->
  <class name="StringMax.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMax.Initial -->
  <!-- start class org.apache.pig.builtin.StringMax.Intermediate -->
  <class name="StringMax.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMax.Intermediate -->
  <!-- start class org.apache.pig.builtin.StringMin -->
  <class name="StringMin" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <implements name="org.apache.pig.Accumulator"/>
    <constructor name="StringMin"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="min" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link MIN}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.StringMin -->
  <!-- start class org.apache.pig.builtin.StringMin.Final -->
  <class name="StringMin.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMin.Final -->
  <!-- start class org.apache.pig.builtin.StringMin.Initial -->
  <class name="StringMin.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMin.Initial -->
  <!-- start class org.apache.pig.builtin.StringMin.Intermediate -->
  <class name="StringMin.Intermediate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.StringMin.Intermediate -->
  <!-- start class org.apache.pig.builtin.StringSize -->
  <class name="StringSize" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StringSize"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SIZE}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.StringSize -->
  <!-- start class org.apache.pig.builtin.STRSPLIT -->
  <class name="STRSPLIT" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="STRSPLIT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Wrapper around Java's String.split
 @param input tuple; first column is assumed to have a string to split;
 the optional second column is assumed to have the delimiter or regex to split on;<br>
 if not provided, it's assumed to be '\s' (space)
 the optional third column may provide a limit to the number of results.<br>
 If limit is not provided, 0 is assumed, as per Java's split().
 @exception java.io.IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Wrapper around Java's String.split<br>
 input tuple: first column is assumed to have a string to split;<br>
 the optional second column is assumed to have the delimiter or regex to split on;<br>
 if not provided, it's assumed to be '\s' (space)<br>
 the optional third column may provide a limit to the number of results.<br>
 If limit is not provided, 0 is assumed, as per Java's split().]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.STRSPLIT -->
  <!-- start class org.apache.pig.builtin.STRSPLITTOBAG -->
  <class name="STRSPLITTOBAG" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="STRSPLITTOBAG"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Wrapper around Java's String.split

 @param input tuple; first column is assumed to have a string to split;
              the optional second column is assumed to have the delimiter or regex to split on;<br>
              if not provided, it's assumed to be '\s' (space)
              the optional third column may provide a limit to the number of results.<br>
              If limit is not provided, 0 is assumed, as per Java's split().
 @throws java.io.IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Wrapper around Java's String.split<br>
 input tuple: first column is assumed to have a string to split;<br>
 the optional second column is assumed to have the delimiter or regex to split on;<br>
 if not provided, it's assumed to be '\s' (space)<br>
 the optional third column may provide a limit to the number of results.<br>
 If limit is not provided, 0 is assumed, as per Java's split().]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.STRSPLITTOBAG -->
  <!-- start class org.apache.pig.builtin.SUBSTRING -->
  <class name="SUBSTRING" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SUBSTRING"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Method invoked on every tuple during foreach evaluation
 @param input tuple; first column is assumed to have the column to convert
 @exception java.io.IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[SUBSTRING implements eval function to get a part of a string.
 Example:<code>
      A = load 'mydata' as (name);
      B = foreach A generate SUBSTRING(name, 10, 12);
      </code>
 First argument is the string to take a substring of.<br>
 Second argument is the index of the first character of substring.<br>
 Third argument is the index of the last character of substring.<br>
 if the last argument is past the end of the string, substring of (beginIndex, length(str)) is returned.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SUBSTRING -->
  <!-- start class org.apache.pig.builtin.SUBTRACT -->
  <class name="SUBTRACT" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SUBTRACT"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Compares the two bag fields from input Tuple and returns a new bag composed of elements of first bag not in the second bag.
 @param input a tuple with exactly two bag fields.
 @throws IOException if there are not exactly two fields in a tuple or if they are not {@link DataBag}.]]>
      </doc>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[SUBTRACT takes two bags as arguments and returns a new bag composed of tuples of first bag not in the second bag.<br>
 If null, bag arguments are replaced by empty bags.
 <p>
 The implementation assumes that both bags being passed to this function will fit entirely into memory simultaneously.
 </br>
 If that is not the case the UDF will still function, but it will be <strong>very</strong> slow.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SUBTRACT -->
  <!-- start class org.apache.pig.builtin.SubtractDuration -->
  <class name="SubtractDuration" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SubtractDuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>SubtractDuration returns the result of a DateTime object plus a Duration object</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Duration Format: http://en.wikipedia.org/wiki/ISO_8601#Durations</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime, dr:chararray);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dr: chararray}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,PT1S)
 (2008-02-06T02:06:02.000Z,PT1M)
 (2007-03-05T03:05:03.000Z,P1D)
 ...

 dtsubtract = FOREACH ISOin GENERATE SubtractDuration(dt, dr) AS dt1;

 DESCRIBE dtsubtract;
 dtsubtract: {dt1: datetime}

 DUMP dtsubtract;

 (2009-01-07T01:07:00.000Z)
 (2008-02-06T02:05:02.000Z)
 (2007-03-04T03:05:03.000Z)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SubtractDuration -->
  <!-- start class org.apache.pig.builtin.SUM -->
  <class name="SUM" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SUM"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Generates the sum of a set of values. This class implements
 {@link org.apache.pig.Algebraic}, so if possible the execution will
 performed in a distributed fashion.
 <p>
 SUM can operate on any numeric type.  It can also operate on bytearrays,
 which it will cast to doubles.  It expects a bag of
 tuples of one record each.  If Pig knows from the schema that this function
 will be passed a bag of integers or longs, it will use a specially adapted version of
 SUM that uses integer arithmetic for summing the data.  The return type
 of SUM is double for float, double, or bytearray arguments and long for int
 or long arguments.
 <p>
 SUM implements the {@link org.apache.pig.Accumulator} interface as well.
 While this will never be
 the preferred method of usage it is available in case the combiner can not be
 used for a given calculation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.SUM -->
  <!-- start class org.apache.pig.builtin.SUM.Final -->
  <class name="SUM.Final" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.SUM.Final -->
  <!-- start class org.apache.pig.builtin.SUM.Intermediate -->
  <class name="SUM.Intermediate" extends="org.apache.pig.builtin.AlgebraicByteArrayMathBase.Intermediate"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermediate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOp" return="org.apache.pig.builtin.AlgebraicMathBase.KNOWN_OP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.SUM.Intermediate -->
  <!-- start class org.apache.pig.builtin.TAN -->
  <class name="TAN" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TAN"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[TAN implements a binding to the Java function
 {@link java.lang.Math#tan(double) Math.tan(double)}. 
 Given a single data atom it Returns the tangent of the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TAN -->
  <!-- start class org.apache.pig.builtin.TANH -->
  <class name="TANH" extends="org.apache.pig.builtin.DoubleBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TANH"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[TANH implements a binding to the Java function
 {@link java.lang.Math#tanh(double) Math.tanh(double)}. 
 Given a single data atom it Returns the hyperbolic tangent 
 of the argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TANH -->
  <!-- start class org.apache.pig.builtin.TextLoader -->
  <class name="TextLoader" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadCaster"/>
    <constructor name="TextLoader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Boolean
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Integer
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Long
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Float
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Double
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to DateTime
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Cast data from bytes to chararray value.
 @param b byte array to be cast.
 @return String value.
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="schema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="schema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Tuple
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="schema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[TextLoader does not support conversion to Bag
 @throws IOException if the value cannot be cast.]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="in" type="org.apache.hadoop.mapreduce.RecordReader"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This load function simply creates a tuple for each line of text that has a
 single chararray field that
 contains the line of text.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TextLoader -->
  <!-- start class org.apache.pig.builtin.TOBAG -->
  <class name="TOBAG" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TOBAG"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSch" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class takes a list of items and puts them into a bag
 T = foreach U generate TOBAG($0, $1, $2);
 It's like saying this:
 T = foreach U generate {($0), ($1), ($2)}
 
 All arguments that are not of tuple type are inserted into a tuple before
 being added to the bag. This is because bag is always a bag of tuples.
 
 Output schema:
 The output schema for this udf depends on the schema of its arguments.
 If all the arguments have same type and same inner 
 schema (for bags/tuple columns), then the udf output schema would be a bag 
 of tuples having a column of the type and inner-schema (if any) of the 
 arguments. 
 If the arguments are of type tuple/bag, then their inner schemas should match,
 though schema field aliases may differ.
 If these conditions are not met the output schema will be a bag with null 
 inner schema.
  
  example 1 
  grunt> describe a;
  a: {a0: int,a1: int}
  grunt> b = foreach a generate TOBAG(a0,a1);
  grunt> describe b;
  b: {{int}}
  
  example 2
  grunt> describe a;
  a: {a0: (x: int),a1: (x: int)}
  grunt> b = foreach a generate TOBAG(a0,a1);                                    
  grunt> describe b;                                                             
  b: {{(x: int)}}
  
  example 3
  grunt> describe a;                                                             
  a: {a0: (x: int),a1: (y: int)}
  -- note that the inner schemas have matching types but different field aliases.
  -- the aliases of the first argument (a0) will be used in output schema:
  grunt> b = foreach a generate TOBAG(a0,a1);
  grunt> describe b;
  b: {{(x: int)}}

  example 4
  grunt> describe a;
  a: {a0: (x: int),a1: (x: chararray)}
  -- here the inner schemas do not match, so output schema is not well defined:
  grunt> b = foreach a generate TOBAG(a0,a1);                                    
  grunt> describe b;                                                             
  b: {{NULL}}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TOBAG -->
  <!-- start class org.apache.pig.builtin.ToDate -->
  <class name="ToDate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToDate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="extractDateTimeZone" return="org.joda.time.DateTimeZone"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dtStr" type="java.lang.String"/>
    </method>
    <method name="extractDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dtStr" type="java.lang.String"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>ToDate converts the ISO or the customized string or the Unix timestamp to the DateTime object.</p>
 <p>ToDate is overloaded.</p>

 <dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>DateTime ToDate(Long millis)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>the milliseconds</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>the DateTime object</code>.</dd>
 </dl>

 <dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>DateTime ToDate(String dtStr)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>the ISO format date time string</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>the DateTime object</code>.</dd>
 </dl>

 <dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>DateTime ToDate(String dtStr, String format)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>dtStr: the string that represents a date time</code>.</dd>
 <dd><code>format: the format string</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>the DateTime object</code>.</dd>
 </dl>

 <dl>
 <dt><b>Syntax:</b></dt>
 <dd><code>DateTime ToDate(String dtStr, String format, String timezone)</code>.</dd>
 <dt><b>Input:</b></dt>
 <dd><code>dtStr: the string that represents a date time</code>.</dd>
 <dd><code>format: the format string</code>.</dd>
 <dd><code>timezone: the timezone string</code>.</dd>
 <dt><b>Output:</b></dt>
 <dd><code>the DateTime object</code>.</dd>
 </dl>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToDate -->
  <!-- start class org.apache.pig.builtin.ToDate2ARGS -->
  <class name="ToDate2ARGS" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToDate2ARGS"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link ToDate}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToDate2ARGS -->
  <!-- start class org.apache.pig.builtin.ToDate3ARGS -->
  <class name="ToDate3ARGS" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToDate3ARGS"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link ToDate}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToDate3ARGS -->
  <!-- start class org.apache.pig.builtin.ToDateISO -->
  <class name="ToDateISO" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToDateISO"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link ToDate}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToDateISO -->
  <!-- start class org.apache.pig.builtin.TOKENIZE -->
  <class name="TOKENIZE" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TOKENIZE"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Given a chararray as an argument, this method will split the chararray and
 return a bag with a tuple for each chararray that results from the split.
 The string is split on space, double quote, comma, open parend, close parend,
 and asterisk (star).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TOKENIZE -->
  <!-- start class org.apache.pig.builtin.TOMAP -->
  <class name="TOMAP" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TOMAP"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class makes a map out of the parameters passed to it
 T = foreach U generate TOMAP($0, $1, $2, $3);
 It generates a map $0->1, $2->$3

 This UDF also accepts a bag with 'pair' tuples (i.e. tuples with a 'key' and a 'value').]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TOMAP -->
  <!-- start class org.apache.pig.builtin.ToMilliSeconds -->
  <class name="ToMilliSeconds" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToMilliSeconds"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>
 ToMilliSeconds converts the DateTime to the number of milliseconds that have passed
 since January 1, 1970 00:00:00.000 GMT.
 </p>
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 <li>Unix Time: http://en.wikipedia.org/wiki/Unix_time</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 toMilliSeconds = FOREACH ISOin GENERATE ToMilliSeconds(dt) AS unixTime:long;

 DESCRIBE toMilliSeconds;
 toMilliSeconds: {unixTime: long}

 DUMP toMilliSeconds;

 (1231290421000L)
 (1202263562000L)
 (1173063903000L)
 ...
</pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToMilliSeconds -->
  <!-- start class org.apache.pig.builtin.TOP -->
  <class name="TOP" extends="org.apache.pig.AccumulatorEvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.Algebraic"/>
    <constructor name="TOP"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="TOP" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getValue" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="updateTop"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="store" type="java.util.PriorityQueue"/>
      <param name="limit" type="int"/>
      <param name="inputBag" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Top UDF accepts a bag of tuples and returns top-n tuples depending upon the
 tuple field value of type long. Both n and field number needs to be provided
 to the UDF. The UDF iterates through the input bag and just retains top-n
 tuples by storing them in a priority queue of size n+1 where priority is the
 long field. This is efficient as priority queue provides constant time - O(1)
 removal of the least element and O(log n) time for heap restructuring. The
 UDF is especially helpful for turning the nested grouping operation inside
 out and retaining top-n in a nested group.

 Assumes all tuples in the bag contain an element of the same type in the compared column.

 Sample usage:
 DEFINE TOP_ASC TOP("ASC")
 DEFINE TOP_DESC TOP("DESC")
 
 A = LOAD 'test.tsv' as (first: chararray, second: chararray);
 B = GROUP A BY (first, second);
 C = FOREACH B generate FLATTEN(group), COUNT(*) as count;
 D = GROUP C BY first; // again group by first
 topResults = FOREACH D {
          result = TOP_ASC(10, 1, C); // and retain top 10 occurrences of 'second' in first
          GENERATE FLATTEN(result);
 topDescResults = FOREACH D {
          result = TOP_DESC(10, 1, C); // and retain top 10 occurrences of 'second' in first
          GENERATE FLATTEN(result); *          
  }]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TOP -->
  <!-- start class org.apache.pig.builtin.TOP.Final -->
  <class name="TOP.Final" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.TOP.Final -->
  <!-- start class org.apache.pig.builtin.TOP.Initial -->
  <class name="TOP.Initial" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.TOP.Initial -->
  <!-- start class org.apache.pig.builtin.TOP.Intermed -->
  <class name="TOP.Intermed" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermed"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermed" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.builtin.TOP.Intermed -->
  <!-- start class org.apache.pig.builtin.ToString -->
  <class name="ToString" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToString"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>ToString converts the DateTime object of the ISO or the customized string.</p>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToString -->
  <!-- start class org.apache.pig.builtin.TOTUPLE -->
  <class name="TOTUPLE" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TOTUPLE"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class makes a tuple out of the parameter
 T = foreach U generate TOTUPLE($0, $1, $2);
 It generates a tuple containing $0, $1, and $2]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TOTUPLE -->
  <!-- start class org.apache.pig.builtin.ToUnixTime -->
  <class name="ToUnixTime" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToUnixTime"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>ToUnixTime converts the DateTime to the Unix Time Long</p>
 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 <li>Unix Time: http://en.wikipedia.org/wiki/Unix_time</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (dt:datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 toUnix = FOREACH ISOin GENERATE ToUnixTime(dt) AS unixTime:long;

 DESCRIBE toUnix;
 toUnix: {unixTime: long}

 DUMP toUnix;

 (1231290421L)
 (1202263562L)
 (1173063903L)
 ...
</pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.ToUnixTime -->
  <!-- start class org.apache.pig.builtin.TrevniStorage -->
  <class name="TrevniStorage" extends="org.apache.pig.builtin.AvroStorage"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadPushDown"/>
    <constructor name="TrevniStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create new instance of TrevniStorage with no arguments (useful
 for loading files without specifying parameters).]]>
      </doc>
    </constructor>
    <constructor name="TrevniStorage" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create new instance of TrevniStorage.
  @param sn Specifies the input/output schema or record name.
  @param opts Options for AvroStorage:
  <li><code>-namespace</code> Namespace for an automatically generated
    output schema.</li>
  <li><code>-schemafile</code> Specifies URL for avro schema file
    from which to read the input schema (can be local file, hdfs,
    url, etc).</li>
  <li><code>-examplefile</code> Specifies URL for avro data file from
    which to copy the input schema (can be local file, hdfs, url, etc).</li>
  <li><code>-allowrecursive</code> Option to allow recursive schema
    definitions (default is false).</li>]]>
      </doc>
    </constructor>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="org.apache.hadoop.fs.Path[]"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Pig Store/Load Function for Trevni.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TrevniStorage -->
  <!-- start class org.apache.pig.builtin.TRIM -->
  <class name="TRIM" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TRIM"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Returns a string, with leading and trailing whitespace omitted.
 Implements a binding to the Java function {@link java.lang.String#trim() String.trim()}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TRIM -->
  <!-- start class org.apache.pig.builtin.TupleSize -->
  <class name="TupleSize" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TupleSize"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This method should never be used directly, use {@link SIZE}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.TupleSize -->
  <!-- start class org.apache.pig.builtin.UCFIRST -->
  <class name="UCFIRST" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UCFIRST"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[upper-case the first character of a string]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.UCFIRST -->
  <!-- start class org.apache.pig.builtin.UniqueID -->
  <class name="UniqueID" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UniqueID"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[UniqueID generates a unique id for each records in the job. This unique id is
 stable in task retry. Any arguments to the function are ignored.
 Example:
      A = load 'mydata' as (name);
      B = foreach A generate name, UniqueID();
 UniqueID takes the form "index-sequence"]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.UniqueID -->
  <!-- start class org.apache.pig.builtin.UPPER -->
  <class name="UPPER" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UPPER"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Upper-cases an input string.
 @param input tuple; first column is assumed to have the column to convert
 
 @exception IOException]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This method gives a name to the column. 
 @param input - schema of the input data
 @return schema of the input data]]>
      </doc>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[UPPER implements eval function to convert a string to upper case
 Example:
      A = load 'mydata' as (name);
      B = foreach A generate UPPER(name);]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.UPPER -->
  <!-- start class org.apache.pig.builtin.Utf8StorageConverter -->
  <class name="Utf8StorageConverter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadStoreCaster"/>
    <constructor name="Utf8StorageConverter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="schema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
    </method>
    <method name="bytesToFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.lang.Double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="java.lang.Float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="java.lang.Integer"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.lang.Long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="org.apache.pig.data.DataByteArray"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bi" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bd" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="mBagFactory" type="org.apache.pig.data.BagFactory"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mTupleFactory" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This abstract class provides standard conversions between utf8 encoded data
 and pig data types.  It is intended to be extended by load and store
 functions (such as {@link PigStorage}).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.Utf8StorageConverter -->
  <!-- start class org.apache.pig.builtin.VALUELIST -->
  <class name="VALUELIST" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="VALUELIST"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This UDF takes a Map and returns a Bag containing the values from map. <br />
 Note that output tuple contains all values, not just unique ones. <br />
 For obtaining unique values from map, use VALUESET instead. <br />

 <pre>
 <code>
 grunt> cat data
 [open#apache,1#2,11#2]
 [apache#hadoop,3#4,12#hadoop]

 grunt> a = load 'data' as (M:[]);
 grunt> b = foreach a generate VALUELIST($0);
 grunt> dump b;
 ({(apache),(2),(2)})
 ({(4),(hadoop),(hadoop)})
 </code>
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.VALUELIST -->
  <!-- start class org.apache.pig.builtin.VALUESET -->
  <class name="VALUESET" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="VALUESET"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This UDF takes a Map and returns a Tuple containing the value set. <br />
 Note, this UDF returns only unique values. For all values, use <br />
 VALUELIST instead. <br />

 <pre>
 <code>
 grunt> cat data
 [open#apache,1#2,11#2]
 [apache#hadoop,3#4,12#hadoop]

 grunt> a = load 'data' as (M:[]);
 grunt> b = foreach a generate VALUELIST($0);
 ({(apache),(2)})
 ({(4),(hadoop)})

 </code>
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.VALUESET -->
  <!-- start class org.apache.pig.builtin.WeeksBetween -->
  <class name="WeeksBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="WeeksBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>WeeksBetween returns the number of weeks between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.WeeksBetween -->
  <!-- start class org.apache.pig.builtin.YearsBetween -->
  <class name="YearsBetween" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="YearsBetween"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getArgToFuncMapping" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="allowCompileTimeCalculation" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[<p>YearsBetween returns the number of years between two DateTime objects</p>

 <ul>
 <li>Jodatime: http://joda-time.sourceforge.net/</li>
 <li>ISO8601 Date Format: http://en.wikipedia.org/wiki/ISO_8601</li>
 </ul>
 <br />
 <pre>
 Example usage:

 ISOin = LOAD 'test.tsv' USING PigStorage('\t') AS (datetime, dt2:datetime);

 DESCRIBE ISOin;
 ISOin: {dt: datetime,dt2: datetime}

 DUMP ISOin;

 (2009-01-07T01:07:01.000Z,2008-02-01T00:00:00.000Z)
 (2008-02-06T02:06:02.000Z,2008-02-01T00:00:00.000Z)
 (2007-03-05T03:05:03.000Z,2008-02-01T00:00:00.000Z)
 ...

 diffs = FOREACH ISOin GENERATE YearsBetween(dt, dt2) AS years,
 MonthsBetween(dt, dt2) AS months,
 WeeksBetween(dt, dt2) AS weeks,
 DaysBetween(dt, dt2) AS days,
 HoursBetween(dt, dt2) AS hours,
 MinutesBetween(dt, dt2) AS mins,
 SecondsBetween(dt, dt2) AS secs;
 MilliSecondsBetween(dt, dt2) AS millis;

 DESCRIBE diffs;
 diffs: {years: long,months: long,weeks: long,days: long,hours: long,mins: long,secs: long,millis: long}

 DUMP diffs;

 (0L,11L,48L,341L,8185L,491107L,29466421L,29466421000L)
 (0L,0L,0L,5L,122L,7326L,439562L,439562000L)
 (0L,-10L,-47L,-332L,-7988L,-479334L,-28760097L,-28760097000L)

 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.YearsBetween -->
  <doc>
  <![CDATA[<p>
This package contains builtin Pig UDFs.  This includes
{@link org.apache.pig.EvalFunc}s,
{@link org.apache.pig.LoadFunc}s and
{@link org.apache.pig.StoreFunc}s.]]>
  </doc>
</package>
<package name="org.apache.pig.builtin.mock">
  <!-- start class org.apache.pig.builtin.mock.Storage -->
  <class name="Storage" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <implements name="org.apache.pig.StoreMetadata"/>
    <constructor name="Storage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="tuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="objects" type="java.lang.Object[]"/>
      <doc>
      <![CDATA[@param objects
 @return a tuple containing the provided objects]]>
      </doc>
    </method>
    <method name="bag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuples" type="org.apache.pig.data.Tuple[]"/>
      <doc>
      <![CDATA[@param tuples
 @return a bag containing the provided objects]]>
      </doc>
    </method>
    <method name="map" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.Object[]"/>
      <doc>
      <![CDATA[@param input These params are alternating "key", "value". So the number of params MUST be even !!
 Implementation is very similar to the TOMAP UDF.
 So map("A", B, "C", D) generates a map "A"->B, "C"->D
 @return a map containing the provided objects]]>
      </doc>
    </method>
    <method name="schema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[@param schema
 @return the schema represented by the string
 @throws ParserException if the schema is invalid]]>
      </doc>
    </method>
    <method name="resetData" return="org.apache.pig.builtin.mock.Storage.Data"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigServer" type="org.apache.pig.PigServer"/>
      <doc>
      <![CDATA[reset the store and get the Data object to access it
 @param pigServer
 @return Data]]>
      </doc>
    </method>
    <method name="resetData" return="org.apache.pig.builtin.mock.Storage.Data"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[reset the store and get the Data object to access it
 @param context
 @return data as Data]]>
      </doc>
    </method>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.ResourceStatistics"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="storeSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[A convenient mock Storage for unit tests

 <pre>
  PigServer pigServer = new PigServer(ExecType.LOCAL);
  Data data = resetData(pigServer);
      data.set("foo",
      tuple("a"),
      tuple("b"),
      tuple("c"),
      tuple(map("d","e", "f","g")),
      tuple(bag(tuple("h"),tuple("i")))
      );

  pigServer.registerQuery("A = LOAD 'foo' USING mock.Storage();");
  pigServer.registerQuery("STORE A INTO 'bar' USING mock.Storage();");

  List<Tuple> out = data.get("bar");

  assertEquals(tuple("a"), out.get(0));
  assertEquals(tuple("b"), out.get(1));
  assertEquals(tuple("c"), out.get(2));
  assertEquals(tuple(map("f", "g", "d", "e" )), out.get(3));
  assertEquals(tuple(bag(tuple("h"),tuple("i"))), out.get(4));
 </pre>
 With Schema:
  <pre>
  PigServer pigServer = new PigServer(ExecType.LOCAL);
  Data data = resetData(pigServer);

  data.set("foo", "blah:chararray",
      tuple("a"),
      tuple("b"),
      tuple("c")
      );

  pigServer.registerQuery("A = LOAD 'foo' USING mock.Storage();");
  pigServer.registerQuery("B = FOREACH A GENERATE blah as a, blah as b;");
  pigServer.registerQuery("STORE B INTO 'bar' USING mock.Storage();");

  assertEquals(schema("a:chararray,b:chararray"), data.getSchema("bar"));

  List<Tuple> out = data.get("bar");
  assertEquals(tuple("a", "a"), out.get(0));
  assertEquals(tuple("b", "b"), out.get(1));
  assertEquals(tuple("c", "c"), out.get(2));
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.mock.Storage -->
  <!-- start class org.apache.pig.builtin.mock.Storage.Data -->
  <class name="Storage.Data" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="Data"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="schema" type="java.lang.String"/>
      <param name="data" type="java.util.Collection"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[to set the data in a location with a known schema

 @param location "where" to store the tuples
 @param schema the schema of the data
 @param data the tuples to store
 @throws ParserException if schema is invalid]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="schema" type="java.lang.String"/>
      <param name="data" type="org.apache.pig.data.Tuple[]"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[to set the data in a location with a known schema

 @param location "where" to store the tuples
 @param schema
 @param data the tuples to store
 @throws ParserException if schema is invalid]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="data" type="java.util.Collection"/>
      <doc>
      <![CDATA[to set the data in a location with a known schema

 @param location "where" to store the tuples
 @param schema
 @param data the tuples to store]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="data" type="org.apache.pig.data.Tuple[]"/>
      <doc>
      <![CDATA[to set the data in a location with a known schema

 @param location "where" to store the tuples
 @param schema
 @param data the tuples to store]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="data" type="java.util.Collection"/>
      <doc>
      <![CDATA[to set the data in a location

 @param location "where" to store the tuples
 @param data the tuples to store]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="data" type="org.apache.pig.data.Tuple[]"/>
      <doc>
      <![CDATA[to set the data in a location

 @param location "where" to store the tuples
 @param data the tuples to store]]>
      </doc>
    </method>
    <method name="get" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <doc>
      <![CDATA[@param location
 @return the data in this location]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <doc>
      <![CDATA[@param location
 @return the schema stored in this location]]>
      </doc>
    </method>
    <method name="setSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[to set the schema for a given location
 @param location
 @param schema]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An isolated data store to avoid side effects]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.builtin.mock.Storage.Data -->
</package>
<package name="org.apache.pig.classification">
  <!-- start class org.apache.pig.classification.InterfaceAudience -->
  <class name="InterfaceAudience" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <doc>
    <![CDATA[Annotation to inform users of a package, class or method's intended audience.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.classification.InterfaceAudience -->
  <!-- start interface org.apache.pig.classification.InterfaceAudience.LimitedPrivate -->
  <interface name="InterfaceAudience.LimitedPrivate"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Intended only for the project(s) specified in the annotation]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceAudience.LimitedPrivate -->
  <!-- start interface org.apache.pig.classification.InterfaceAudience.Private -->
  <interface name="InterfaceAudience.Private"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[Intended for use only within Pig itself.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceAudience.Private -->
  <!-- start interface org.apache.pig.classification.InterfaceAudience.Public -->
  <interface name="InterfaceAudience.Public"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[Intended for use by any project or application.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceAudience.Public -->
  <!-- start class org.apache.pig.classification.InterfaceStability -->
  <class name="InterfaceStability" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterfaceStability"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[Annotation to inform users of how much to rely on a particular package,
 class or method not changing over time.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.classification.InterfaceStability -->
  <!-- start interface org.apache.pig.classification.InterfaceStability.Evolving -->
  <interface name="InterfaceStability.Evolving"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[Evolving, but can break compatibility at minor release (i.e. m.x)]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceStability.Evolving -->
  <!-- start interface org.apache.pig.classification.InterfaceStability.Stable -->
  <interface name="InterfaceStability.Stable"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[Can evolve while retaining compatibility for minor release boundaries.; 
 can break compatibility only at major release (ie. at m.0).]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceStability.Stable -->
  <!-- start interface org.apache.pig.classification.InterfaceStability.Unstable -->
  <interface name="InterfaceStability.Unstable"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[No guarantee is provided as to reliability or stability across any
 level of release granularity.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.classification.InterfaceStability.Unstable -->
</package>
<package name="org.apache.pig.data">
  <!-- start class org.apache.pig.data.AbstractTuple -->
  <class name="AbstractTuple" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.Tuple"/>
    <constructor name="AbstractTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toDelimitedString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="delim" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[{@inheritDoc}]]>
      </doc>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[{@inheritDoc}]]>
      </doc>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[{@inheritDoc}]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="reference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <doc>
    <![CDATA[This class provides a convenient base for Tuple implementations. This makes it easier
 to provide default implementations as the Tuple interface is evolved.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.AbstractTuple -->
  <!-- start class org.apache.pig.data.AccumulativeBag -->
  <class name="AccumulativeBag" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="AccumulativeBag" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTuplebuffer" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.AccumulativeTupleBuffer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="datainput" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataoutput" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.data.AccumulativeBag -->
  <!-- start class org.apache.pig.data.AmendableTuple -->
  <class name="AmendableTuple" extends="org.apache.pig.data.DefaultTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AmendableTuple" type="int, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAmendKey" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAmendKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="amendKey" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.AmendableTuple -->
  <!-- start class org.apache.pig.data.AppendableSchemaTuple -->
  <class name="AppendableSchemaTuple" extends="org.apache.pig.data.SchemaTuple"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AppendableSchemaTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="appendedFieldsSize" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="isAppendedFieldsNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getAppendedField" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getAppendedFields" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAppendedFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This adds the additional overhead of the append Tuple]]>
      </doc>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setSpecific" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.AppendableSchemaTuple"/>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.util.List"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
    </method>
    <method name="compareToSpecific" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.AppendableSchemaTuple"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setTypeAwareBase"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <param name="type" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getTypeAwareBase" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="type" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="writeElements"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.AppendableSchemaTuple -->
  <!-- start class org.apache.pig.data.BagFactory -->
  <class name="BagFactory" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagFactory"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a new BagFactory]]>
      </doc>
    </constructor>
    <method name="getInstance" return="org.apache.pig.data.BagFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a reference to the singleton factory.
 @return BagFactory]]>
      </doc>
    </method>
    <method name="newDefaultBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a default (unordered, not distinct) data bag.
 @return default data bag.]]>
      </doc>
    </method>
    <method name="newDefaultBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="listOfTuples" type="java.util.List"/>
      <doc>
      <![CDATA[Get a default (unordered, not distinct) data bag with
 an existing list of tuples inserted into the bag.
 @param listOfTuples list of tuples to be placed in the bag.  This list may not be
 copied, it may be used directly by the created bag.
 @return default data bag.]]>
      </doc>
    </method>
    <method name="newLimitedSortedBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
      <param name="limit" type="long"/>
      <doc>
      <![CDATA[Get a limited sorted data bag.  Limited sorted bags are sorted bags
 with number of elements no more than limit.
 @param comp Comparator that controls how the data is sorted.
 If null, default comparator will be used.
 @param limit max number of tuples in bag
 @return a sorted data bag]]>
      </doc>
    </method>
    <method name="newSortedBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
      <doc>
      <![CDATA[Get a sorted data bag.  Sorted bags guarantee that when an iterator
 is opened on the bag the tuples will be returned in sorted order.
 @param comp Comparator that controls how the data is sorted.
 If null, default comparator will be used.
 @return a sorted data bag]]>
      </doc>
    </method>
    <method name="newDistinctBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a distinct data bag.  Distinct bags guarantee that when an
 iterator is opened on the bag, no two tuples returned from the
 iterator will be equal.
 @return distinct data bag]]>
      </doc>
    </method>
    <method name="registerBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="As of Pig 0.11, bags register with the {@link SpillableMemoryManager} themselves.
 Register a bag with the
 {@link org.apache.pig.impl.util.SpillableMemoryManager}.
 If the bags created by an implementation of BagFactory are managed by
 the {@link org.apache.pig.impl.util.SpillableMemoryManager} then this
 method should be called each time a new bag is created.">
      <param name="b" type="org.apache.pig.data.DataBag"/>
      <doc>
      <![CDATA[@deprecated As of Pig 0.11, bags register with the {@link SpillableMemoryManager} themselves.
 Register a bag with the
 {@link org.apache.pig.impl.util.SpillableMemoryManager}.
 If the bags created by an implementation of BagFactory are managed by
 the {@link org.apache.pig.impl.util.SpillableMemoryManager} then this
 method should be called each time a new bag is created.
 @param b bag to be registered.]]>
      </doc>
    </method>
    <method name="resetSelf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Provided for testing purposes only.  This function should never be
 called by anybody but the unit tests.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Factory for constructing different types of bags.
 This class is abstract so that users can
 override the bag factory if they desire to provide their own that
 returns their implementation of a bag.  If the property
 pig.data.bag.factory.name is set to a class name and
 pig.data.bag.factory.jar is set to a URL pointing to a jar that
 contains the above named class, then getInstance() will create 
 an instance of the named class using the indicated jar.  Otherwise, it
 will create an instance of DefaultBagFactory.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.BagFactory -->
  <!-- start class org.apache.pig.data.BinInterSedes -->
  <class name="BinInterSedes" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.InterSedes"/>
    <constructor name="BinInterSedes"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="readTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTupleSize" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readDatum" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="readDatum" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Expects binInterSedes data types (NOT DataType types!)
 <p>

 @see org.apache.pig.data.InterSedes#readDatum(java.io.DataInput, byte)]]>
      </doc>
    </method>
    <method name="writeDatum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeDatum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="val" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="addColsToTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTupleRawComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isTupleByte" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte"/>
    </method>
    <field name="BOOLEAN_TRUE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BOOLEAN_FALSE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BYTE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER_0" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER_1" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER_INSHORT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER_INBYTE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FLOAT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DOUBLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BYTEARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALLBYTEARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TINYBYTEARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CHARARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALLCHARARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALLMAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TINYMAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALLTUPLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TINYTUPLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BAG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SMALLBAG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TINYBAG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GENERIC_WRITABLECOMPARABLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTERNALMAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NULL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_BYTE_INDEX" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE_SHORT_INDEX" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCHEMA_TUPLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG_INBYTE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG_INSHORT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG_ININT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG_0" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG_1" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_0" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_1" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_2" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_3" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_4" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_5" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_6" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_7" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_8" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE_9" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIGINTEGER" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIGDECIMAL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DATETIME" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNSIGNED_SHORT_MAX" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNSIGNED_BYTE_MAX" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UTF8" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A class to handle reading and writing of intermediate results of data types. The serialization format used by this
 class more efficient than what was used in DataReaderWriter . The format used by the functions in this class is
 subject to change, so it should be used ONLY to store intermediate results within a pig query.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.BinInterSedes -->
  <!-- start class org.apache.pig.data.BinInterSedes.BinInterSedesTupleRawComparator -->
  <class name="BinInterSedes.BinInterSedesTupleRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TupleRawComparator"/>
    <constructor name="BinInterSedesTupleRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="hasComparedTupleNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two BinSedesTuples as raw bytes. We assume the Tuples are NOT PigNullableWritable, so client classes
 need to deal with Null and Index.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="o2" type="org.apache.hadoop.io.WritableComparable"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.BinInterSedes.BinInterSedesTupleRawComparator -->
  <!-- start class org.apache.pig.data.BinSedesTuple -->
  <class name="BinSedesTuple" extends="org.apache.pig.data.DefaultTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This tuple has a faster (de)serialization mechanism. It to be used for
 storing intermediate data between Map and Reduce and between MR jobs.
 This is for internal pig use only. The serialization format can change, so
  do not use it for storing any persistant data (ie in load/store functions).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.BinSedesTuple -->
  <!-- start class org.apache.pig.data.BinSedesTupleFactory -->
  <class name="BinSedesTupleFactory" extends="org.apache.pig.data.TupleFactory"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinSedesTupleFactory"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="size" type="int"/>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="java.util.List"/>
    </method>
    <method name="newTupleNoCopy" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="list" type="java.util.List"/>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="datum" type="java.lang.Object"/>
    </method>
    <method name="tupleClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="tupleRawComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isFixedSize" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Default implementation of TupleFactory.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.BinSedesTupleFactory -->
  <!-- start interface org.apache.pig.data.DataBag -->
  <interface name="DataBag"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.impl.util.Spillable"/>
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <implements name="java.lang.Iterable"/>
    <implements name="java.io.Serializable"/>
    <method name="size" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the number of elements in the bag, both in memory and on disk.
 @return number of elements in the bag]]>
      </doc>
    </method>
    <method name="isSorted" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find out if the bag is sorted.
 @return true if this is a sorted data bag, false otherwise.]]>
      </doc>
    </method>
    <method name="isDistinct" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find out if the bag is distinct.
 @return true if the bag is a distinct bag, false otherwise.]]>
      </doc>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get an iterator to the bag. For default and distinct bags,
 no particular order is guaranteed. For sorted bags the order
 is guaranteed to be sorted according
 to the provided comparator.
 @return tuple iterator]]>
      </doc>
    </method>
    <method name="add"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Add a tuple to the bag.
 @param t tuple to add.]]>
      </doc>
    </method>
    <method name="addAll"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
      <doc>
      <![CDATA[Add contents of a bag to the bag.
 @param b bag to add contents of.]]>
      </doc>
    </method>
    <method name="clear"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Clear out the contents of the bag, both on disk and in memory.
 Any attempts to read after this is called will produce undefined
 results.]]>
      </doc>
    </method>
    <method name="markStale"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
      <doc>
      <![CDATA[This is used by FuncEvalSpec.FakeDataBag.
 @param stale Set stale state.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A collection of Tuples.  A DataBag may or may not fit into memory.
 DataBag extends spillable, which means that it registers with a memory
 manager.  By default, it attempts to keep all of its contents in memory.
 If it is asked by the memory manager to spill to disk (by a call to
 spill()), it takes whatever it has in memory, opens a spill file, and
 writes the contents out.  This may happen multiple times.  The bag
 tracks all of the files it's spilled to.
 <p>
 DataBag provides an Iterator interface, that allows callers to read
 through the contents.  The iterators are aware of the data spilling.
 They have to be able to handle reading from files, as well as the fact
 that data they were reading from memory may have been spilled to disk
 underneath them.
 <p>
 The DataBag interface assumes that all data is written before any is
 read.  That is, a DataBag cannot be used as a queue.  If data is written
 after data is read, the results are undefined.  This condition is not
 checked on each add or read, for reasons of speed.  Caveat emptor.
 <p>
 Since spills are asynchronous (the memory manager requesting a spill
 runs in a separate thread), all operations dealing with the mContents
 Collection (which is the collection of tuples contained in the bag) have
 to be synchronized.  This means that reading from a DataBag is currently
 serialized.  This is ok for the moment because pig execution is
 currently single threaded.  A ReadWriteLock was experimented with, but
 it was found to be about 10x slower than using the synchronize keyword.
 If pig changes its execution model to be multithreaded, we may need to
 return to this issue, as synchronizing reads will most likely defeat the
 purpose of multi-threading execution.
 <p>
 DataBags come in several types, default, sorted, and distinct.  The type
 must be chosen up front, there is no way to convert a bag on the fly.
 Default data bags do not guarantee any particular order of retrieval for 
 the tuples and may contain duplicate tuples.  Sorted data bags guarantee
 that tuples will be retrieved in order, where "in order" is defined either
 by the default comparator for Tuple or the comparator provided by the
 caller when the bag was created.  Sorted bags may contain duplicates.
 Distinct bags do not guarantee any particular order of retrieval, but do
 guarantee that they will not contain duplicate tuples.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.DataBag -->
  <!-- start class org.apache.pig.data.DataByteArray -->
  <class name="DataByteArray" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Comparable"/>
    <implements name="java.io.Serializable"/>
    <constructor name="DataByteArray"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Default constructor.  The data array will not be allocated when this
 constructor is called.]]>
      </doc>
    </constructor>
    <constructor name="DataByteArray" type="byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a byte array using the provided bytes as the content.
 @param b byte array to use as content.  A reference to the bytes
 will be taken, the underlying bytes will not be copied.]]>
      </doc>
    </constructor>
    <constructor name="DataByteArray" type="org.apache.pig.data.DataByteArray, org.apache.pig.data.DataByteArray"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a byte array concatenating the two provided 
 byte arrays as the content.
 @param b the first byte array to use as content.
 @param c the other byte array to use as content.]]>
      </doc>
    </constructor>
    <constructor name="DataByteArray" type="byte[], int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a byte array using a portion of the provided bytes as content.
 @param b byte array to read from.  A copy of the underlying bytes will be
 made.
 @param start starting point to copy from
 @param end ending point to copy to, exclusive.]]>
      </doc>
    </constructor>
    <constructor name="DataByteArray" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct a byte array from a String.  The contents of the string
 are copied.
 @param s String to make a byte array out of.]]>
      </doc>
    </constructor>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find the size of the byte array.
 @return number of bytes in the array.]]>
      </doc>
    </method>
    <method name="get" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the underlying byte array.  This is the real thing, not a copy,
 so don't mess with it!
 @return underlying byte[]]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <doc>
      <![CDATA[Set the internal byte array.  This should not be called unless the
 default constructor was used.
 @param b byte array to store.  The contents of the byte array are
 not copied.]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the internal byte array.  This should not be called unless the
 default constructor was used.
 @param s String to copy.  The contents of the string are copied.]]>
      </doc>
    </method>
    <method name="append" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataByteArray"/>
      <doc>
      <![CDATA[Append given byte array to the internal byte array.
 @param b byte array who's contents to append.  The contents of the byte array are
 copied.]]>
      </doc>
    </method>
    <method name="append" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ba" type="byte[]"/>
    </method>
    <method name="append" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ba" type="byte[]"/>
      <param name="start" type="int"/>
      <param name="baLength" type="int"/>
    </method>
    <method name="append" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Convert the byte array to a string.  UTF8 encoding will be assumed.]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[Compare two byte arrays. Comparison is done first using byte values then
 length. So "g" will be greater than "abcdefg", but "hello worlds" is
 greater than "hello world". If the other object is not a DataByteArray,
 {@link DataType#compare} will be called.
 
 @param other Other object to compare to.
 @return -1 if less than, 1 if greater than, 0 if equal.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="b2" type="byte[]"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buf" type="byte[]"/>
    </method>
    <doc>
    <![CDATA[An implementation of byte array.  This is done as an object because we
 need to be able to implement compareTo, toString, hashCode, and some
 other methods.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DataByteArray -->
  <!-- start class org.apache.pig.data.DataReaderWriter -->
  <class name="DataReaderWriter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataReaderWriter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToInternalMap" return="org.apache.pig.data.InternalMap"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToBigCharArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bytesToWritable" return="org.apache.hadoop.io.Writable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readDatum" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="readDatum" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="writeDatum"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="UTF8" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class was used to handle reading and writing of intermediate
  results of data types. Now that functionality is in {@link BinInterSedes}
  This class could also be used for storing permanent results, it used
  by BinStorage through DefaultTuple class.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DataReaderWriter -->
  <!-- start class org.apache.pig.data.DataType -->
  <class name="DataType" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="findType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Determine the datatype of an object.
 @param o Object to test.
 @return byte code of the type, or ERROR if we don't know.]]>
      </doc>
    </method>
    <method name="findType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="java.lang.reflect.Type"/>
      <doc>
      <![CDATA[Given a Type object determine the data type it represents.  This isn't
 cheap, as it uses reflection, so use sparingly.
 @param t Type to examine
 @return byte code of the type, or ERROR if we don't know.]]>
      </doc>
    </method>
    <method name="numTypes" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the number of types Pig knows about.
 @return number of types]]>
      </doc>
    </method>
    <method name="genAllTypes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get an array of all type values.
 @return byte array with an entry for each type.]]>
      </doc>
    </method>
    <method name="genTypeToNameMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a map of type values to type names.
 @return map]]>
      </doc>
    </method>
    <method name="genNameToTypeMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a map of type names to type values.
 @return map]]>
      </doc>
    </method>
    <method name="findTypeName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Get the type name.
 @param o Object to test.
 @return type name, as a String.]]>
      </doc>
    </method>
    <method name="findTypeName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="byte"/>
      <doc>
      <![CDATA[Get the type name from the type byte code
 @param dt Type byte code
 @return type name, as a String.]]>
      </doc>
    </method>
    <method name="findTypeClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="byte"/>
    </method>
    <method name="findTypeByName" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Get the type code from the type name 
 @param name Type name
 @return type code]]>
      </doc>
    </method>
    <method name="isComplex" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <doc>
      <![CDATA[Determine whether the this data type is complex.
 @param dataType Data type code to test.
 @return true if dataType is bag, tuple, or map.]]>
      </doc>
    </method>
    <method name="isComplex" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Determine whether the object is complex or atomic.
 @param o Object to determine type of.
 @return true if dataType is bag, tuple, or map.]]>
      </doc>
    </method>
    <method name="isAtomic" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <doc>
      <![CDATA[Determine whether the this data type is atomic.
 @param dataType Data type code to test.
 @return true if dataType is bytearray, bigchararray, chararray, integer, long,
 float, or boolean.]]>
      </doc>
    </method>
    <method name="isAtomic" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Determine whether the this data type is atomic.
 @param o Object to determine type of.
 @return true if dataType is bytearray, chararray, integer, long,
 float, or boolean.]]>
      </doc>
    </method>
    <method name="isSchemaType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Determine whether the this object can have a schema.
 @param o Object to determine if it has a schema
 @return true if the type can have a valid schema (i.e., bag or tuple)]]>
      </doc>
    </method>
    <method name="isSchemaType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataType" type="byte"/>
      <doc>
      <![CDATA[Determine whether the this data type can have a schema.
 @param dataType dataType to determine if it has a schema
 @return true if the type can have a valid schema (i.e., bag or tuple)]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
      <doc>
      <![CDATA[/**
 Compare two objects to each other.  This function is necessary
 because there's no super class that implements compareTo.  This
 function provides an (arbitrary) ordering of objects of different
 types as follows:  NULL &lt; BOOLEAN &lt; BYTE &lt; INTEGER &lt; LONG &lt;
 FLOAT &lt; DOUBLE &lt; DATETIME &lt; BYTEARRAY &lt; STRING &lt; MAP &lt;
 TUPLE &lt; BAG.  No other functions should implement this cross
 object logic.  They should call this function for it instead.
 @param o1 First object
 @param o2 Second object
 @return -1 if o1 is less, 0 if they are equal, 1 if o2 is less.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
      <param name="dt1" type="byte"/>
      <param name="dt2" type="byte"/>
      <doc>
      <![CDATA[Same as {@link #compare(Object, Object)}, but does not use reflection to determine the type
 of passed in objects, relying instead on the caller to provide the appropriate values, as
 determined by {@link DataType#findType(Object)}.

 Use this version in cases where multiple objects of the same type have to be repeatedly compared.
 @param o1 first object
 @param o2 second object
 @param dt1 type, as byte value, of o1
 @param dt2 type, as byte value, of o2
 @return -1 if o1 is &lt; o2, 0 if they are equal, 1 if o1 &gt; o2]]>
      </doc>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Boolean, if possible. Any numeric type can be
 forced to a Boolean, as well as CharArray, ByteArray. Complex types
 cannot be forced to a Boolean. This isn't particularly efficient, so if
 you already <b>know</b> that the object you have is a Boolean you should
 just cast it.

 @param o
            object to cast
 @param type
            of the object you are casting
 @return The object as a Boolean.
 @throws ExecException
             if the type can't be forced to a Boolean.]]>
      </doc>
    </method>
    <method name="toBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to an Integer, if possible.  Any numeric type
 can be forced to an Integer (though precision may be lost), as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to an Integer.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is an Integer you
 should just cast it.
 @param o object to cast
 @param type of the object you are casting
 @return The object as an Integer.
 @throws ExecException if the type can't be forced to an Integer.]]>
      </doc>
    </method>
    <method name="toInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to an Integer, if possible.  Any numeric type
 can be forced to an Integer (though precision may be lost), as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to an Integer.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is an Integer you
 should just cast it.  Unlike {@link #toInteger(Object, byte)} this
 method will first determine the type of o and then do the cast.
 Use {@link #toInteger(Object, byte)} if you already know the type.
 @param o object to cast
 @return The object as an Integer.
 @throws ExecException if the type can't be forced to an Integer.]]>
      </doc>
    </method>
    <method name="toLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Long, if possible.  Any numeric type
 can be forced to a Long (though precision may be lost), as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to a Long.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Long you
 should just cast it.
 @param o object to cast
 @param type of the object you are casting
 @return The object as a Long.
 @throws ExecException if the type can't be forced to a Long.]]>
      </doc>
    </method>
    <method name="toLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Long, if possible.  Any numeric type
 can be forced to a Long (though precision may be lost), as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to an Long.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Long you
 should just cast it.  Unlike {@link #toLong(Object, byte)} this
 method will first determine the type of o and then do the cast.
 Use {@link #toLong(Object, byte)} if you already know the type.
 @param o object to cast
 @return The object as a Long.
 @throws ExecException if the type can't be forced to an Long.]]>
      </doc>
    </method>
    <method name="toFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Float, if possible.  Any numeric type
 can be forced to a Float (though precision may be lost), as well
 as CharArray, ByteArray.  Complex types cannot be
 forced to a Float.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Float you
 should just cast it.
 @param o object to cast
 @param type of the object you are casting
 @return The object as a Float.
 @throws ExecException if the type can't be forced to a Float.]]>
      </doc>
    </method>
    <method name="toFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Float, if possible.  Any numeric type
 can be forced to a Float (though precision may be lost), as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to an Float.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Float you
 should just cast it.  Unlike {@link #toFloat(Object, byte)} this
 method will first determine the type of o and then do the cast.
 Use {@link #toFloat(Object, byte)} if you already know the type.
 @param o object to cast
 @return The object as a Float.
 @throws ExecException if the type can't be forced to an Float.]]>
      </doc>
    </method>
    <method name="toDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Double, if possible.  Any numeric type
 can be forced to a Double, as well
 as CharArray, ByteArray.  Complex types cannot be
 forced to a Double.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Double you
 should just cast it.
 @param o object to cast
 @param type of the object you are casting
 @return The object as a Double.
 @throws ExecException if the type can't be forced to a Double.]]>
      </doc>
    </method>
    <method name="toDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a DateTime, if possible. Only CharArray, ByteArray
 can be forced to a DateTime. Numeric types and complex types
 cannot be forced to a DateTime. This isn't particularly efficient, so if
 you already <b>know</b> that the object you have is a DateTime you should
 just cast it.

 @param o
            object to cast
 @param type
            of the object you are casting
 @return The object as a Boolean.
 @throws ExecException
             if the type can't be forced to a Boolean.]]>
      </doc>
    </method>
    <method name="toDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a Double, if possible.  Any numeric type
 can be forced to a Double, as well
 as CharArray, ByteArray, or Boolean.  Complex types cannot be
 forced to an Double.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Double you
 should just cast it.  Unlike {@link #toDouble(Object, byte)} this
 method will first determine the type of o and then do the cast.
 Use {@link #toDouble(Object, byte)} if you already know the type.
 @param o object to cast
 @return The object as a Double.
 @throws ExecException if the type can't be forced to an Double.]]>
      </doc>
    </method>
    <method name="toBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a String, if possible.  Any simple (atomic) type
 can be forced to a String including ByteArray.  Complex types cannot be
 forced to a String.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a String you
 should just cast it.
 @param o object to cast
 @param type of the object you are casting
 @return The object as a String.
 @throws ExecException if the type can't be forced to a String.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Force a data object to a String, if possible.  Any simple (atomic) type
 can be forced to a String including ByteArray.  Complex types cannot be
 forced to a String.  This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a String you
 should just cast it.  Unlike {@link #toString(Object, byte)} this
 method will first determine the type of o and then do the cast.
 Use {@link #toString(Object, byte)} if you already know the type.
 @param o object to cast
 @return The object as a String.
 @throws ExecException if the type can't be forced to a String.]]>
      </doc>
    </method>
    <method name="toMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[If this object is a map, return it as a map.
 This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Map you
 should just cast it.
 @param o object to cast
 @return The object as a Map.
 @throws ExecException if the type can't be forced to a Double.]]>
      </doc>
    </method>
    <method name="toTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[If this object is a tuple, return it as a tuple.
 This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a Tuple you
 should just cast it.
 @param o object to cast
 @return The object as a Double.
 @throws ExecException if the type can't be forced to a Double.]]>
      </doc>
    </method>
    <method name="toBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[If this object is a bag, return it as a bag.
 This isn't particularly efficient, so if you
 already <b>know</b> that the object you have is a bag you
 should just cast it.
 @param o object to cast
 @return The object as a Double.
 @throws ExecException if the type can't be forced to a Double.]]>
      </doc>
    </method>
    <method name="spillTupleContents"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="label" type="java.lang.String"/>
      <doc>
      <![CDATA[Purely for debugging]]>
      </doc>
    </method>
    <method name="isNumberType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="byte"/>
      <doc>
      <![CDATA[Determine if this type is a numeric type.
 @param t type (as byte value) to test
 @return true if this is a numeric type, false otherwise]]>
      </doc>
    </method>
    <method name="isUsableType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="byte"/>
      <doc>
      <![CDATA[Determine if this is a type that can work can be done on.
 @param t type (as a byte value) to test
 @return false if the type is unknown, null, or error; true otherwise.]]>
      </doc>
    </method>
    <method name="castable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="castType" type="byte"/>
      <param name="inputType" type="byte"/>
      <doc>
      <![CDATA[Test if one type can cast to the other.
 @param castType data type of the cast type
 @param inputType data type of the input
 @return true or false]]>
      </doc>
    </method>
    <method name="mergeType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type1" type="byte"/>
      <param name="type2" type="byte"/>
      <doc>
      <![CDATA[Merge types if possible.  Merging types means finding a type that one
 or both types can be upcast to.
 @param type1
 @param type2
 @return the merged type, or DataType.ERROR if not successful]]>
      </doc>
    </method>
    <method name="mapToString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
      <doc>
      <![CDATA[Given a map, turn it into a String.
 @param m map
 @return string representation of the map]]>
      </doc>
    </method>
    <method name="equalByteArrays" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lhs" type="byte[]"/>
      <param name="rhs" type="byte[]"/>
      <doc>
      <![CDATA[Test whether two byte arrays (Java byte arrays not Pig byte arrays) are
 equal.  I have no idea why we have this function.
 @param lhs byte array 1
 @param rhs byte array 2
 @return true if both are null or the two are the same length and have
 the same bytes.]]>
      </doc>
    </method>
    <method name="determineFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rcFieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Determine the field schema of an ResourceFieldSchema
 @param rcFieldSchema the rcFieldSchema we want translated
 @return the field schema corresponding to the object
 @throws ExecException,FrontendException,SchemaMergeException]]>
      </doc>
    </method>
    <method name="determineFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Determine the field schema of an object
 @param o the object whose field schema is to be determined
 @return the field schema corresponding to the object
 @throws ExecException,FrontendException,SchemaMergeException]]>
      </doc>
    </method>
    <field name="UNKNOWN" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NULL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BOOLEAN" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BYTE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INTEGER" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LONG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FLOAT" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DOUBLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DATETIME" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BYTEARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CHARARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIGINTEGER" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIGDECIMAL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BIGCHARARRAY" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Internal use only.]]>
      </doc>
    </field>
    <field name="MAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TUPLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BAG" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GENERIC_WRITABLECOMPARABLE" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Internal use only; used to store WriteableComparable objects
 for creating ordered index in MergeJoin. Expecting a object that
 implements Writable interface and has default constructor]]>
      </doc>
    </field>
    <field name="INTERNALMAP" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Internal use only.]]>
      </doc>
    </field>
    <field name="ERROR" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A class of static final values used to encode data type and a number of
 static helper functions for manipulating data objects.  The data type
 values could be
 done as an enumeration, but it is done as byte codes instead to save
 creating objects.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DataType -->
  <!-- start class org.apache.pig.data.DefaultAbstractBag -->
  <class name="DefaultAbstractBag" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="DefaultAbstractBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the number of elements in the bag, both in memory and on disk.]]>
      </doc>
    </method>
    <method name="sampleContents"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Sample every SPILL_SAMPLE_FREQUENCYth tuple
 until we reach a max of SPILL_SAMPLE_SIZE
 to get an estimate of the tuple sizes.]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Add a tuple to the bag.
 @param t tuple to add.]]>
      </doc>
    </method>
    <method name="markSpillableIfNecessary"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[All bag implementations that can get big enough to be spilled
 should call this method after every time they add an element.]]>
      </doc>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="java.util.Collection"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="iterable" type="java.lang.Iterable"/>
      <doc>
      <![CDATA[Add contents of an iterable (a collection or a DataBag)

 @param iterable a Collection or DataBag to add contents of]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the size of memory usage.]]>
      </doc>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Clear out the contents of the bag, both on disk and in memory.
 Any attempts to read after this is called will produce undefined
 results.]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[This method is potentially very expensive since it may require a
 sort of the bag; don't call it unless you have to.]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write a bag's contents to disk.
 @param out DataOutput to write data to.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Read a bag from disk.
 @param in DataInput to read data from.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
      <doc>
      <![CDATA[This is used by FuncEvalSpec.FakeDataBag.
 @param stale Set stale state.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Write the bag into a string.]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSpillFile" return="java.io.DataOutputStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get a file to spill contents to.  The file will be registered in the
 mSpillFiles array.
 @return stream to write tuples to.]]>
      </doc>
    </method>
    <method name="reportProgress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Report progress to HDFS.]]>
      </doc>
    </method>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="java.lang.Enum"/>
      <param name="e" type="java.lang.Throwable"/>
    </method>
    <method name="incSpillCount"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="counter" type="java.lang.Enum"/>
    </method>
    <method name="incSpillCount"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="counter" type="java.lang.Enum"/>
      <param name="numRecsSpilled" type="long"/>
    </method>
    <field name="mContents" type="java.util.Collection"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mSpillFiles" type="org.apache.pig.data.FileList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mSize" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="startBag" type="org.apache.pig.data.Tuple"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="endBag" type="org.apache.pig.data.Tuple"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAX_SPILL_FILES" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Default implementation of DataBag.  This is the an abstract class used as a
 parent for all three of the types of data bags.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DefaultAbstractBag -->
  <!-- start class org.apache.pig.data.DefaultAbstractBag.BagDelimiterTuple -->
  <class name="DefaultAbstractBag.BagDelimiterTuple" extends="org.apache.pig.data.DefaultTuple"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagDelimiterTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.data.DefaultAbstractBag.BagDelimiterTuple -->
  <!-- start class org.apache.pig.data.DefaultAbstractBag.EndBag -->
  <class name="DefaultAbstractBag.EndBag" extends="org.apache.pig.data.DefaultAbstractBag.BagDelimiterTuple"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EndBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.data.DefaultAbstractBag.EndBag -->
  <!-- start class org.apache.pig.data.DefaultAbstractBag.StartBag -->
  <class name="DefaultAbstractBag.StartBag" extends="org.apache.pig.data.DefaultAbstractBag.BagDelimiterTuple"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StartBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.data.DefaultAbstractBag.StartBag -->
  <!-- start class org.apache.pig.data.DefaultBagFactory -->
  <class name="DefaultBagFactory" extends="org.apache.pig.data.BagFactory"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="newDefaultBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a default (unordered, not distinct) data bag.]]>
      </doc>
    </method>
    <method name="newDefaultBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="listOfTuples" type="java.util.List"/>
      <doc>
      <![CDATA[Get a default (unordered, not distinct) data bag from
 an existing list of tuples. Note that the bag does NOT
 copy the tuples but uses the provided list as its backing store.
 So it takes ownership of the list.]]>
      </doc>
    </method>
    <method name="newLimitedSortedBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
      <param name="limit" type="long"/>
      <doc>
      <![CDATA[Get a limited sorted data bag.
 @param comp Comparator that controls how the data is sorted.
 If null, default comparator will be used.]]>
      </doc>
    </method>
    <method name="newSortedBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
      <doc>
      <![CDATA[Get a sorted data bag.
 @param comp Comparator that controls how the data is sorted.
 If null, default comparator will be used.]]>
      </doc>
    </method>
    <method name="newDistinctBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a distinct data bag.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Default implementation of BagFactory.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DefaultBagFactory -->
  <!-- start class org.apache.pig.data.DefaultDataBag -->
  <class name="DefaultDataBag" extends="org.apache.pig.data.DefaultAbstractBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DefaultDataBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DefaultDataBag" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor creates a bag out of an existing list
 of tuples by taking ownership of the list and NOT
 copying the contents of the list.
 @param listOfTuples List<Tuple> containing the tuples]]>
      </doc>
    </constructor>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An unordered collection of Tuples (possibly) with multiples.  The tuples
 are stored in a List, since there is no concern for order or
 distinctness.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DefaultDataBag -->
  <!-- start class org.apache.pig.data.DefaultTuple -->
  <class name="DefaultTuple" extends="org.apache.pig.data.AbstractTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DefaultTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Default constructor. This constructor is public so that hadoop can call it directly. However, inside pig you
 should never be calling this function. Use TupleFactory instead.
 <br>Time complexity: O(1), after allocation]]>
      </doc>
    </constructor>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find the size of the tuple. Used to be called arity().

 @return number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Get the value in a given field.

 @param fieldNum
            Number of the field to get the value for.
 @return value, as an Object.
 @throws ExecException
             if the field number is greater than or equal to the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all of the fields in the tuple as a list.

 @return List&lt;Object&gt; containing the fields of the tuple in order.]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Set the value in a given field.

 @param fieldNum
            Number of the field to set the value for.
 @param val
            Object to put in the indicated field.
 @throws ExecException
             if the field number is greater than or equal to the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
      <doc>
      <![CDATA[Append a field to a tuple. This method is not efficient as it may force copying of existing data in order to grow
 the data structure. Whenever possible you should construct your Tuple with the newTuple(int) method and then fill
 in the values with set(), rather than construct it with newTuple() and append values.

 @param val
            Object to append to the tuple.]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Determine the size of tuple in memory. This is used by data bags to determine their memory size. This need not be
 exact, but it should be a decent estimation.

 @return estimated memory size.]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="mFields" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A default implementation of Tuple. This class will be created by the DefaultTupleFactory.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DefaultTuple -->
  <!-- start class org.apache.pig.data.DefaultTuple.DefaultTupleRawComparator -->
  <class name="DefaultTuple.DefaultTupleRawComparator" extends="org.apache.hadoop.io.WritableComparator"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TupleRawComparator"/>
    <constructor name="DefaultTupleRawComparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="hasComparedTupleNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b1" type="byte[]"/>
      <param name="s1" type="int"/>
      <param name="l1" type="int"/>
      <param name="b2" type="byte[]"/>
      <param name="s2" type="int"/>
      <param name="l2" type="int"/>
      <doc>
      <![CDATA[Compare two DefaultTuples as raw bytes. We assume the Tuples are NOT PigNullableWritable, so client classes
 need to deal with Null and Index.]]>
      </doc>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o1" type="java.lang.Object"/>
      <param name="o2" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.DefaultTuple.DefaultTupleRawComparator -->
  <!-- start class org.apache.pig.data.DefaultTupleFactory -->
  <class name="DefaultTupleFactory" extends="org.apache.pig.data.BinSedesTupleFactory"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="Use {@link TupleFactory}">
    <constructor name="DefaultTupleFactory"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="tupleRawComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[@deprecated Use {@link TupleFactory}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DefaultTupleFactory -->
  <!-- start class org.apache.pig.data.DistinctDataBag -->
  <class name="DistinctDataBag" extends="org.apache.pig.data.DefaultAbstractBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DistinctDataBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An unordered collection of Tuples with no multiples.  Data is
 stored without duplicates as it comes in.  When it is time to spill,
 that data is sorted and written to disk.  It must also be sorted upon
 the first read, otherwise if a spill happened after that the iterators
 would have no way to find their place in the new file.  The data is
 stored in a HashSet.  When it is time to sort it is placed in an
 ArrayList and then sorted.  Dispite all these machinations, this was
 found to be faster than storing it in a TreeSet.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.DistinctDataBag -->
  <!-- start class org.apache.pig.data.FieldIsNullException -->
  <class name="FieldIsNullException" extends="org.apache.pig.backend.executionengine.ExecException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FieldIsNullException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FieldIsNullException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.data.FieldIsNullException -->
  <!-- start class org.apache.pig.data.FileList -->
  <class name="FileList" extends="java.util.ArrayList"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FileList" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FileList"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FileList" type="java.util.LinkedList"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="finalize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class extends ArrayList<File> to add a finalize() that
 calls delete on the files .
 This helps in getting rid of the finalize() in the classes such 
 as DefaultAbstractBag, and they can be freed up without waiting 
 for finalize to be called. Only if those classes have spilled to
 disk, there will be a (this) class that needs to be finalized.
 
 CAUTION: if you assign a new value for a variable of this type,
 the files (if any) in the old object it pointed to will be scheduled for
 deletion. To avoid that call .clear() before assigning a new value.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.FileList -->
  <!-- start class org.apache.pig.data.InternalCachedBag -->
  <class name="InternalCachedBag" extends="org.apache.pig.data.SelfSpillBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InternalCachedBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalCachedBag" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalCachedBag" type="int, float"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.data.InternalCachedBag -->
  <!-- start class org.apache.pig.data.InternalDistinctBag -->
  <class name="InternalDistinctBag" extends="org.apache.pig.data.SortedSpillBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InternalDistinctBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalDistinctBag" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalDistinctBag" type="int, float"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An unordered collection of Tuples with no multiples.  Data is
 stored without duplicates as it comes in.  When it is time to spill,
 that data is sorted and written to disk.  The data is
 stored in a HashSet.  When it is time to sort it is placed in an
 ArrayList and then sorted.  Dispite all these machinations, this was
 found to be faster than storing it in a TreeSet.

 This bag spills pro-actively when the number of tuples in memory
 reaches a limit]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.InternalDistinctBag -->
  <!-- start class org.apache.pig.data.InternalMap -->
  <class name="InternalMap" extends="java.util.HashMap"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InternalMap"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalMap" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[This class is an empty extension of Map<Object, Object>.  It only
 exists so that DataType.findType() can distinguish an internal map
 type that maps object to object from an external map type that
 is string to object.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.InternalMap -->
  <!-- start class org.apache.pig.data.InternalSortedBag -->
  <class name="InternalSortedBag" extends="org.apache.pig.data.SortedSpillBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InternalSortedBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalSortedBag" type="java.util.Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalSortedBag" type="int, java.util.Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InternalSortedBag" type="int, float, java.util.Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="proactive_spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
    </method>
    <doc>
    <![CDATA[An ordered collection of Tuples (possibly) with multiples.  Data is
 stored unsorted as it comes in, and only sorted when it is time to dump
 it to a file or when the first iterator is requested.  Experementation
 found this to be the faster than storing it sorted to begin with.
 
 We allow a user defined comparator, but provide a default comparator in
 cases where the user doesn't specify one.
 
 This bag is not registered with SpillableMemoryManager. It calculates
 the number of tuples to hold in memory and spill pro-actively into files.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.InternalSortedBag -->
  <!-- start interface org.apache.pig.data.InterSedes -->
  <interface name="InterSedes"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="readDatum" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Get the next object from DataInput in
 @param in
 @return Next object from DataInput in
 @throws IOException
 @throws ExecException]]>
      </doc>
    </method>
    <method name="readDatum" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Get the next object from DataInput in of the type of type argument
 The type information has been read from DataInput.
 @param in
 @param type
 @return Next object from DataInput in
 @throws IOException
 @throws ExecException]]>
      </doc>
    </method>
    <method name="addColsToTuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[The type of next object has been determined to be of type Tuple,
 add the columns that belong to the tuple to given tuple argument t
 @param in
 @param t
 @throws IOException]]>
      </doc>
    </method>
    <method name="writeDatum"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write given object val to DataOutput out
 @param out
 @param val
 @throws IOException]]>
      </doc>
    </method>
    <method name="writeDatum"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="val" type="java.lang.Object"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write given object val of DataType type to DataOutput out
 @param out output
 @param val value to write
 @param type type, as defined in {@link DataType}
 @throws IOException]]>
      </doc>
    </method>
    <method name="getTupleRawComparatorClass" return="java.lang.Class"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A class to handle reading and writing of intermediate results of data
 types. The serialization format used by this class more efficient than 
 what was used in DataReaderWriter . 
 The format used by the functions in this class is subject to change, so it
 should be used ONLY to store intermediate results within a pig query.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.InterSedes -->
  <!-- start class org.apache.pig.data.InterSedesFactory -->
  <class name="InterSedesFactory" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterSedesFactory"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInterSedesInstance" return="org.apache.pig.data.InterSedes"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Used to get hold of the single instance of InterSedes .
 In future, the subclass of InterSedes that gets instantiated would 
 be configurable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.InterSedesFactory -->
  <!-- start class org.apache.pig.data.LimitedSortedDataBag -->
  <class name="LimitedSortedDataBag" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="LimitedSortedDataBag" type="java.util.Comparator, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param comp Comparator to use to do the sorting.
 If null, DefaultComparator will be used.]]>
      </doc>
    </constructor>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the number of elements in the bag in memory.
 @return number of elements in the bag]]>
      </doc>
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find out if the bag is sorted.
 @return true if this is a sorted data bag, false otherwise.]]>
      </doc>
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find out if the bag is distinct.
 @return true if the bag is a distinct bag, false otherwise.]]>
      </doc>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get an iterator to the bag. For default and distinct bags,
 no particular order is guaranteed. For sorted bags the order
 is guaranteed to be sorted according
 to the provided comparator.
 @return tuple iterator]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Add a tuple to the bag.
 @param t tuple to add.]]>
      </doc>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
      <doc>
      <![CDATA[Add contents of a bag to the bag.
 @param b bag to add contents of.]]>
      </doc>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Clear out the contents of the bag, both on disk and in memory.
 Any attempts to read after this is called will produce undefined
 results.]]>
      </doc>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write a bag's contents to disk.
 @param out DataOutput to write data to.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Read a bag from disk.
 @param in DataInput to read data from.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Write the bag into a string.]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
      <doc>
      <![CDATA[Not implemented.
 This is used by FuncEvalSpec.FakeDataBag.
 @param stale Set stale state.]]>
      </doc>
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Not implemented.]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Not implemented.]]>
      </doc>
    </method>
    <method name="reportProgress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Report progress to HDFS.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An ordered collection of Tuples (possibly) with multiples.  Data is
 stored in a priority queue as it comes in, and only sorted when iterator is requested.

 LimitedSortedDataBag is not spillable.

 We allow a user defined comparator, but provide a default comparator in
 cases where the user doesn't specify one.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.LimitedSortedDataBag -->
  <!-- start class org.apache.pig.data.NonSpillableDataBag -->
  <class name="NonSpillableDataBag" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="NonSpillableDataBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NonSpillableDataBag" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Use this constructor if you know upfront how many tuples you are going
 to put in this bag.
 @param tupleCount]]>
      </doc>
    </constructor>
    <constructor name="NonSpillableDataBag" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor creates a bag out of an existing list
 of tuples by taking ownership of the list and NOT
 copying the contents of the list.
 @param listOfTuples List<Tuple> containing the tuples]]>
      </doc>
    </constructor>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="reportProgress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Report progress to HDFS.]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Write a bag's contents to disk.
 @param out DataOutput to write data to.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Read a bag from disk.
 @param in DataInput to read data from.
 @throws IOException (passes it on from underlying calls).]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Write the bag into a string.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An unordered collection of Tuples (possibly) with multiples.  The tuples
 are stored in an ArrayList, since there is no concern for order or
 distinctness. The implicit assumption is that the user of this class
 is storing only those many tuples as will fit in memory - no spilling
 will be done on this bag to disk.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.NonSpillableDataBag -->
  <!-- start class org.apache.pig.data.ReadOnceBag -->
  <class name="ReadOnceBag" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="ReadOnceBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ReadOnceBag" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager, java.util.Iterator, org.apache.pig.impl.io.PigNullableWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor creates a bag out of an existing iterator
 of tuples by taking ownership of the iterator and NOT
 copying the elements of the iterator.
 @param pkg POPackageLite
 @param tupIter Iterator<NullableTuple>
 @param key Object]]>
      </doc>
    </constructor>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="pkgr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.Packager"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="tupIter" type="java.util.Iterator"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="keyWritable" type="org.apache.pig.impl.io.PigNullableWritable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This bag does not store the tuples in memory, but has access to an iterator
 typically provided by Hadoop. Use this when you already have an iterator over
 tuples and do not want to copy over again to a new bag.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.ReadOnceBag -->
  <!-- start class org.apache.pig.data.ReadOnceBag.ReadOnceBagIterator -->
  <class name="ReadOnceBag.ReadOnceBagIterator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <implements name="java.util.Iterator"/>
    <constructor name="ReadOnceBagIterator"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="hasNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="next" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.data.ReadOnceBag.ReadOnceBagIterator -->
  <!-- start class org.apache.pig.data.SchemaTuple -->
  <class name="SchemaTuple" extends="org.apache.pig.data.AbstractTuple"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TypeAwareTuple"/>
    <constructor name="SchemaTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This only accounts for the size of members (adjusting for word alignment). It also includes
 the size of the object itself, since this never affects word boundaries.]]>
      </doc>
    </method>
    <method name="getGeneratedCodeMemorySize" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getSchemaTupleIdentifier" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method will return the identifier that the generated code
 was generated with. This is useful because when the classes
 are resolved generically, this let's us know the identifier, which
 is used when serlializing and deserializing tuples.
 @return the identifire as Int.]]>
      </doc>
    </method>
    <method name="schemaSize" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getSchemaString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSet" return="org.apache.pig.data.SchemaTuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setSpecific" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="generatedCodeSetSpecific" return="org.apache.pig.data.SchemaTuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="checkType" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="set" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="java.util.List"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetIterator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="l" type="java.util.Iterator"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="writeIdentifiers" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="org.apache.pig.data.DataBag"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="float"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="double"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="org.joda.time.DateTime"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="java.math.BigDecimal"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="java.math.BigInteger"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="v" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="reference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSpecificSchemaTuple" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="checkType" type="boolean"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
    </method>
    <method name="generatedCodeCompareTo" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="checkType" type="boolean"/>
    </method>
    <method name="compareToSpecific" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="generatedCodeCompareToSpecific" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="unbox" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="unbox" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="java.util.Map"/>
    </method>
    <method name="unbox" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="byte[]"/>
    </method>
    <method name="unbox" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="int"/>
    </method>
    <method name="unbox" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="long"/>
    </method>
    <method name="unbox" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="float"/>
    </method>
    <method name="unbox" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="double"/>
    </method>
    <method name="unbox" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="boolean"/>
    </method>
    <method name="unbox" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="org.joda.time.DateTime"/>
    </method>
    <method name="unbox" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="java.math.BigDecimal"/>
    </method>
    <method name="unbox" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="java.math.BigInteger"/>
    </method>
    <method name="unbox" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="java.lang.String"/>
    </method>
    <method name="unbox" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Object"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="unbox" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="unbox" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.util.Map"/>
    </method>
    <method name="unbox" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.data.DataByteArray"/>
    </method>
    <method name="unbox" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Integer"/>
    </method>
    <method name="unbox" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Long"/>
    </method>
    <method name="unbox" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Float"/>
    </method>
    <method name="unbox" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Double"/>
    </method>
    <method name="unbox" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.Boolean"/>
    </method>
    <method name="unbox" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="org.joda.time.DateTime"/>
    </method>
    <method name="box" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="box" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.util.Map"/>
    </method>
    <method name="box" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="byte[]"/>
    </method>
    <method name="box" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.lang.String"/>
    </method>
    <method name="box" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="box" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="int"/>
    </method>
    <method name="box" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="long"/>
    </method>
    <method name="box" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="float"/>
    </method>
    <method name="box" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="double"/>
    </method>
    <method name="box" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="boolean"/>
    </method>
    <method name="box" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="org.joda.time.DateTime"/>
    </method>
    <method name="box" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.math.BigDecimal"/>
    </method>
    <method name="box" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="v" type="java.math.BigInteger"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="int"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="long"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="float"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="double"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="boolean"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="org.joda.time.DateTime"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="java.math.BigDecimal"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="java.math.BigInteger"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="byte[]"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="java.lang.String"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="org.apache.pig.data.Tuple"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="org.apache.pig.data.DataBag"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCodePiece" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="hash" type="int"/>
      <param name="v" type="java.util.Map"/>
      <param name="isNull" type="boolean"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="generatedCodeHashCode" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetField"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetField" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="isGeneratedCodeFieldNull" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getGeneratedCodeFieldType" return="byte"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setTypeAwareBase"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <param name="type" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getTypeAwareBase" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="type" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setInt"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetInt"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setLong"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="long"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetLong"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="long"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setFloat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="float"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetFloat"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="float"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDouble"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="double"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetDouble"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="double"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBoolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetBoolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.joda.time.DateTime"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetDateTime"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.joda.time.DateTime"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.math.BigDecimal"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetBigDecimal"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.math.BigDecimal"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.math.BigInteger"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetBigInteger"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.math.BigInteger"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setString"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetString"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetTuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBytes"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="byte[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetBytes"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="byte[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetDataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.util.Map"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeSetMap"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.util.Map"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="returnUnlessNull" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="int"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="long"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="float"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="double"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="boolean"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.joda.time.DateTime"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.math.BigDecimal"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.math.BigInteger"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.apache.pig.data.Tuple"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.lang.String"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="byte[]"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="returnUnlessNull" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.util.Map"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getInt" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetInt" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxInt" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetLong" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getFloat" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetFloat" return="float"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxFloat" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getDouble" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetDouble" return="double"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxDouble" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getBoolean" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetBoolean" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxBoolean" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetDateTime" return="org.joda.time.DateTime"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxDateTime" return="org.joda.time.DateTime"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetString" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="generatedCodeGetBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getDataBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetDataBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxDataBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetMap" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetBigDecimal" return="java.math.BigDecimal"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxBigDecimal" return="java.math.BigDecimal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="generatedCodeGetBigInteger" return="java.math.BigInteger"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="unboxBigInteger" return="java.math.BigInteger"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="staticSchemaGen" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="s" type="java.lang.String"/>
    </method>
    <method name="setAndCatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="setAndCatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
    </method>
    <method name="writeElements"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is responsible for writing everything contained by the Tuple.
 Note that the base SchemaTuple class does not have an implementation (but is
 not abstract) so that the generated code can call this method via super
 without worrying about whether it is abstract or not, as there may be classes in
 between in the inheritance tree (such as AppendableSchemaTuple).
 @param out
 @throws IOException]]>
      </doc>
    </method>
    <method name="generatedCodeWriteElements"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareSize" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="compareNull" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="themNull" type="boolean"/>
    </method>
    <method name="compareNull" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compareElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="int"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="int"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="int"/>
      <param name="themVal" type="int"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="int"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="long"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="long"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="long"/>
      <param name="themVal" type="long"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="long"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="float"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="float"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="float"/>
      <param name="themVal" type="float"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="float"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="double"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="double"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="double"/>
      <param name="themVal" type="double"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="double"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="boolean"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="boolean"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="boolean"/>
      <param name="themVal" type="boolean"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="boolean"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="byte[]"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="byte[]"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="byte[]"/>
      <param name="themVal" type="byte[]"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="byte[]"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="org.joda.time.DateTime"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="org.joda.time.DateTime"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="org.joda.time.DateTime"/>
      <param name="themVal" type="org.joda.time.DateTime"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.joda.time.DateTime"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="java.math.BigDecimal"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="java.math.BigDecimal"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.math.BigDecimal"/>
      <param name="themVal" type="java.math.BigDecimal"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.math.BigDecimal"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="java.math.BigInteger"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="java.math.BigInteger"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.math.BigInteger"/>
      <param name="themVal" type="java.math.BigInteger"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.math.BigInteger"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="java.lang.String"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="java.lang.String"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.lang.String"/>
      <param name="themVal" type="java.lang.String"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.lang.String"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="org.apache.pig.data.DataBag"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <param name="themVal" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="java.util.Map"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="java.util.Map"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="val" type="java.util.Map"/>
      <param name="themVal" type="java.util.Map"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="java.util.Map"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compareWithElementAtPos" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <param name="val" type="org.apache.pig.data.SchemaTuple"/>
      <param name="t" type="org.apache.pig.data.SchemaTuple"/>
      <param name="pos" type="int"/>
    </method>
    <method name="compare" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="usNull" type="boolean"/>
      <param name="usVal" type="org.apache.pig.data.SchemaTuple"/>
      <param name="themNull" type="boolean"/>
      <param name="themVal" type="java.lang.Object"/>
    </method>
    <method name="getQuickGenerator" return="org.apache.pig.data.SchemaTuple.SchemaTupleQuickGenerator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is a mechanism which allows the SchemaTupleFactory to
 get around having to use reflection. The generated code
 will return a generator which will be created via reflection,
 but after which can generate SchemaTuples at native speed.]]>
      </doc>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="generatedCodeSize" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="generatedCodeReadFields"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="nulls" type="boolean[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="generatedCodeNullsArray" return="boolean[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[A SchemaTuple is a type aware tuple that is much faster and more memory efficient.
 In our implementation, given a Schema, code generation is used to extend this class.
 This class provides a broad range of functionality that minimizes the complexity of the
 code that must be generated. The odd looking generic signature allows for certain
 optimizations, such as "setSpecific(T t)", which allows us to do much faster sets and
 comparisons when types match (since the code is generated, there is no other way to know).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SchemaTuple -->
  <!-- start class org.apache.pig.data.SchemaTuple.SchemaTupleQuickGenerator -->
  <class name="SchemaTuple.SchemaTupleQuickGenerator" extends="java.lang.Object"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaTupleQuickGenerator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="make" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.data.SchemaTuple.SchemaTupleQuickGenerator -->
  <!-- start class org.apache.pig.data.SchemaTupleBackend -->
  <class name="SchemaTupleBackend" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jConf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jConf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jConf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="isLocal" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="newSchemaTupleFactory" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="isAppendable" type="boolean"/>
      <param name="context" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"/>
    </method>
    <method name="newSchemaTupleFactory" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="id" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.SchemaTupleBackend -->
  <!-- start class org.apache.pig.data.SchemaTupleClassGenerator -->
  <class name="SchemaTupleClassGenerator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="resetGlobalClassIdentifier"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="generateSchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="appendable" type="boolean"/>
      <param name="id" type="int"/>
      <param name="codeDir" type="java.io.File"/>
      <param name="contexts" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext[]"/>
      <doc>
      <![CDATA[This class actually generates the code for a given Schema.
 @param   s as Schema
 @param   appendable as boolean, true or false depending on whether it should be appendable
 @param   id as int, id means identifier
 @param   contexts which are a list of contexts in which the SchemaTuple is intended to be instantiated]]>
      </doc>
    </method>
    <method name="getNextGlobalClassIdentifier" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class encapsulates the generation of SchemaTuples, as well as some logic
 around shipping code to the distributed cache.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SchemaTupleClassGenerator -->
  <!-- start class org.apache.pig.data.SchemaTupleClassGenerator.GenContext -->
  <class name="SchemaTupleClassGenerator.GenContext" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.data.SchemaTupleClassGenerator.GenContext[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="key" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAnnotationCanonicalName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="shouldGenerate" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="clazz" type="java.lang.Class"/>
      <doc>
      <![CDATA[Checks the generated class to see if the annotation
 associated with this enum is present.
 @param clazz
 @return boolean type value]]>
      </doc>
    </method>
    <method name="shouldGenerate" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Given a job configuration file, this checks to see
 if the default value has been overriden.
 @param conf
 @return boolean type value]]>
      </doc>
    </method>
    <field name="UDF" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This context is used in UDF code. Currently, this is only used for
 the inputs to UDF's.]]>
      </doc>
    </field>
    <field name="FOREACH" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This context is for POForEach. This will use the expected output of a ForEach
 to return a typed Tuple.]]>
      </doc>
    </field>
    <field name="FR_JOIN" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This context controls whether or not SchemaTuples will be used in FR joins.
 Currently, they will be used in the HashMap that FR Joins construct.]]>
      </doc>
    </field>
    <field name="MERGE_JOIN" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This context controls whether or not SchemaTuples will be used in merge joins.]]>
      </doc>
    </field>
    <field name="FORCE_LOAD" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[All registered Schemas will also be registered in one additional context.
 This context will allow users to "force" the load of a SchemaTupleFactory
 if one is present in any context.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[The GenContext mechanism provides a level of control in where SchemaTupleFactories
 are used. By attaching a GenContext enum type to the registration of a Schema,
 the code can express the intent of where a SchemaTupleFactory is intended to be used.
 In this way, if a load func and a join both involve Tuples of the same Schema, it's
 possible to use SchemaTupleFactories in one but not in the other.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SchemaTupleClassGenerator.GenContext -->
  <!-- start interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateForceLoad -->
  <interface name="SchemaTupleClassGenerator.GenContext.GenerateForceLoad"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
  </interface>
  <!-- end interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateForceLoad -->
  <!-- start interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateForeach -->
  <interface name="SchemaTupleClassGenerator.GenContext.GenerateForeach"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
  </interface>
  <!-- end interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateForeach -->
  <!-- start interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateFrJoin -->
  <interface name="SchemaTupleClassGenerator.GenContext.GenerateFrJoin"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
  </interface>
  <!-- end interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateFrJoin -->
  <!-- start interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateMergeJoin -->
  <interface name="SchemaTupleClassGenerator.GenContext.GenerateMergeJoin"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
  </interface>
  <!-- end interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateMergeJoin -->
  <!-- start interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateUdf -->
  <interface name="SchemaTupleClassGenerator.GenContext.GenerateUdf"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[These annotations are used to mark a given SchemaTuple with
 the context in which is was intended to be generated.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.SchemaTupleClassGenerator.GenContext.GenerateUdf -->
  <!-- start class org.apache.pig.data.SchemaTupleFactory -->
  <class name="SchemaTupleFactory" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TupleMaker"/>
    <constructor name="SchemaTupleFactory" type="java.lang.Class, org.apache.pig.data.SchemaTuple.SchemaTupleQuickGenerator"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="isGeneratable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This method inspects a Schema to see whether or
 not a SchemaTuple implementation can be generated
 for the types present. Currently, bags and maps
 are not supported.
 @param   s as Schema
 @return  boolean type value, true if it is generatable]]>
      </doc>
    </method>
    <method name="newTuple" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="newTuple" return="org.apache.pig.data.SchemaTuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="size" type="int"/>
    </method>
    <method name="tupleClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isFixedSize" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInstance" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="id" type="int"/>
      <doc>
      <![CDATA[This method is the publicly facing method which returns a SchemaTupleFactory
 which will generate the SchemaTuple associated with the given identifier. This method
 is primarily for internal use in cases where the problem SchemaTuple is known
 based on the identifier associated with it (such as when deserializing).
 @param   id as int, means identifier
 @return  SchemaTupleFactory which will return SchemaTuple's of the given identifier]]>
      </doc>
    </method>
    <method name="getInstance" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="isAppendable" type="boolean"/>
      <param name="context" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"/>
      <doc>
      <![CDATA[This method is the publicly facing method which returns a SchemaTupleFactory
 which will generate SchemaTuples of the given Schema. Note that this method
 returns null if such a given SchemaTupleFactory does not exist, instead of
 throwing an error. The GenContext is used to specify the context in which we
 are requesting a SchemaTupleFactory. This is necessary so that the use
 of SchemaTuple can be controlled -- it is possible that someone wants a
 factory that generates code in the context of joins, but wants to disable such
 use for udfs.
 @param   s          the Schema generated
 @param   isAppendable    whether or not the SchemaTuple should be appendable
 @param   context         the context in which we want a SchemaTupleFactory
 @return  SchemaTupleFactory which will return SchemaTuple's of the desired Schema]]>
      </doc>
    </method>
    <method name="getInstance" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="isAppendable" type="boolean"/>
    </method>
    <method name="getInstance" return="org.apache.pig.data.SchemaTupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[This is an implementation of TupleFactory that will instantiate
 SchemaTuple's. This class has nothing to do with the actual generation
 of code, and instead simply encapsulates the classes which allow
 for efficiently creating SchemaTuples.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SchemaTupleFactory -->
  <!-- start class org.apache.pig.data.SchemaTupleFrontend -->
  <class name="SchemaTupleFrontend" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaTupleFrontend"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This allows the frontend/backend process to be repeated if on the same
 JVM (as in testing).]]>
      </doc>
    </method>
    <method name="registerToGenerateIfPossible" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udfSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="isAppendable" type="boolean"/>
      <param name="context" type="org.apache.pig.data.SchemaTupleClassGenerator.GenContext"/>
      <doc>
      <![CDATA[This method "registers" a Schema to be generated. It allows a portions of the code
 to register a Schema for generation without knowing whether code generation is enabled.
 A unique ID will be passed back that can be used internally to refer to generated SchemaTuples
 (such as in the case of serialization and deserialization). The context is necessary to allow
 the client to restrict where generated code can be used.
 @param   udfSchema       This is the Schema of a Tuple that we will potentially generate
 @param   isAppendable    This specifies whether or not we want the SchemaTuple to be appendable
 @param   context         This is the context in which users should be able to access the SchemaTuple
 @return  identifier]]>
      </doc>
    </method>
    <method name="copyAllGeneratedToDistributedCache"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[This must be called when the code has been generated and the generated code needs to be shipped
 to the cluster, so that it may be used by the mappers and reducers.
 @param pigContext
 @param conf]]>
      </doc>
    </method>
    <method name="lazyReset"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[This is a method which caches a PigContext object that has had
 relevant key values set by SchemaTupleBackend. This is necessary
 because in some cases, multiple cycles of jobs might run in the JVM,
 but the PigContext object may be shared, so we want to make sure to
 undo any changes we have made to it.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class is to be used at job creation time. It provides the API that lets code
 register Schemas with pig to be generated. It is necessary to register these Schemas
 and reducers.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SchemaTupleFrontend -->
  <!-- start class org.apache.pig.data.SelfSpillBag -->
  <class name="SelfSpillBag" extends="org.apache.pig.data.DefaultAbstractBag"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SelfSpillBag" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SelfSpillBag" type="int, float"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="memLimit" type="org.apache.pig.data.SelfSpillBag.MemoryLimits"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Class to hold code common to self spilling bags such as InternalCachedBag]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SelfSpillBag -->
  <!-- start class org.apache.pig.data.SelfSpillBag.MemoryLimits -->
  <class name="SelfSpillBag.MemoryLimits" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="MemoryLimits" type="int, float"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param bagCount
 @param percent]]>
      </doc>
    </constructor>
    <method name="getCacheLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Computes the number of objects that would fit into memory based on
 the memory limit and average size of each object.
 
 @return number of objects limit]]>
      </doc>
    </method>
    <method name="addNewObjSize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="memorySize" type="long"/>
      <doc>
      <![CDATA[Submit information about size of another object
 
 @param memorySize]]>
      </doc>
    </method>
    <method name="getNumObjectsSizeAdded" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the size of]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class helps to compute the number of entries that should be held in
 memory so that memory consumption is limited. The memory limit is
 computed using the percentage of max memory that the user of this class
 is allowed to use, and number of similar objects that share this limit.
 The number of objects that will fit into this memory limit is computed
 using the average memory size of the objects whose size is given to this
 class.
 In spark mode, MemoryLimits needs implement Serializable interface otherwise NotSerializableExecption will be thrown (See PIG-4611)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SelfSpillBag.MemoryLimits -->
  <!-- start class org.apache.pig.data.SingleTupleBag -->
  <class name="SingleTupleBag" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="SingleTupleBag" type="org.apache.pig.data.Tuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Write the bag into a string.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A simple performant implementation of the DataBag
 interface which only holds a single tuple. This will
 be used from POPreCombinerLocalRearrange and wherever else
 a single Tuple non-serializable DataBag is required.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SingleTupleBag -->
  <!-- start class org.apache.pig.data.SizeUtil -->
  <class name="SizeUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SizeUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPigObjMemSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="getMapEntrySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="value" type="java.lang.Object"/>
    </method>
    <method name="roundToEight" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="long"/>
      <doc>
      <![CDATA[Memory size of objects are rounded to multiple of 8 bytes

 @param i
 @return i rounded to a equal of higher multiple of 8]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Utility functions for estimating size of objects of pig types]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SizeUtil -->
  <!-- start class org.apache.pig.data.SortedDataBag -->
  <class name="SortedDataBag" extends="org.apache.pig.data.DefaultAbstractBag"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SortedDataBag" type="java.util.Comparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param comp Comparator to use to do the sorting.  If null,
 DefaultComparator will be used.]]>
      </doc>
    </constructor>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[An ordered collection of Tuples (possibly) with multiples.  Data is
 stored unsorted as it comes in, and only sorted when it is time to dump
 it to a file or when the first iterator is requested.  Experementation
 found this to be the faster than storing it sorted to begin with.

 We allow a user defined comparator, but provide a default comparator in
 cases where the user doesn't specify one.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SortedDataBag -->
  <!-- start class org.apache.pig.data.SortedSpillBag -->
  <class name="SortedSpillBag" extends="org.apache.pig.data.SelfSpillBag"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="proactive_spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="comp" type="java.util.Comparator"/>
      <doc>
      <![CDATA[Sort contents of mContents and write them to disk
 @param comp Comparator to sort contents of mContents
 @return number of tuples spilled]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Common functionality for proactively spilling bags that need to keep the data
 sorted.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.SortedSpillBag -->
  <!-- start class org.apache.pig.data.TargetedTuple -->
  <class name="TargetedTuple" extends="org.apache.pig.data.AbstractTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TargetedTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="TargetedTuple" type="org.apache.pig.data.Tuple, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTargetOps" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTargetOps"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="targetOps" type="java.util.List"/>
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="reference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="targetOps" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="isNull" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A tuple composed with the operators to which
 it needs be attached]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.TargetedTuple -->
  <!-- start class org.apache.pig.data.TimestampedTuple -->
  <class name="TimestampedTuple" extends="org.apache.pig.data.DefaultTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TimestampedTuple" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="TimestampedTuple" type="java.lang.String, java.lang.String, int, java.text.SimpleDateFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getTimeStamp" return="double"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTimeStamp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="double"/>
    </method>
    <method name="isHeartBeat" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setHeartBeat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="h" type="boolean"/>
    </method>
    <field name="timestamp" type="double"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="heartbeat" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.data.TimestampedTuple -->
  <!-- start interface org.apache.pig.data.Tuple -->
  <interface name="Tuple"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Iterable"/>
    <method name="reference"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Make this tuple reference the contents of another.  This method does not copy
 the underlying data.   It maintains references to the data from the original
 tuple (and possibly even to the data structure holding the data).
 @param t Tuple to reference.]]>
      </doc>
    </method>
    <method name="size" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find the size of the tuple.  Used to be called arity().
 @return number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="isNull" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Find out if a given field is null.
 @param fieldNum Number of field to check for null.
 @return true if the field is null, false otherwise.
 @throws ExecException if the field number given is greater
 than or equal to the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="getType" return="byte"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Find the type of a given field.
 @param fieldNum Number of field to get the type for.
 @return type, encoded as a byte value.  The values are defined in
 {@link DataType}.  If the field is null, then DataType.UNKNOWN
 will be returned.
 @throws ExecException if the field number is greater than or equal to
 the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Get the value in a given field.
 @param fieldNum Number of the field to get the value for.
 @return value, as an Object.
 @throws ExecException if the field number is greater than or equal to
 the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all of the fields in the tuple as a list.
 @return a list of objects containing the fields of the tuple
 in order.]]>
      </doc>
    </method>
    <method name="set"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Set the value in a given field.  This should not be called unless
 the tuple was constructed by {@link TupleFactory#newTuple(int)} with an
 argument greater than the fieldNum being passed here.  This call will
 not automatically expand the tuple size.  That is if you called 
 {@link TupleFactory#newTuple(int)} with a 2, it is okay to call
 this function with a 1, but not with a 2 or greater.
 @param fieldNum Number of the field to set the value for.
 @param val Object to put in the indicated field.
 @throws ExecException if the field number is greater than or equal to
 the number of fields in the tuple.]]>
      </doc>
    </method>
    <method name="append"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
      <doc>
      <![CDATA[Append a field to a tuple.  This method is not efficient as it may
 force copying of existing data in order to grow the data structure.
 Whenever possible you should construct your Tuple with 
 {@link TupleFactory#newTuple(int)} and then fill in the values with 
 {@link #set(int, Object)}, rather
 than construct it with {@link TupleFactory#newTuple()} and append values.
 @param val Object to append to the tuple.]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Determine the size of tuple in memory.  This is used by data bags
 to determine their memory size.  This need not be exact, but it
 should be a decent estimation.
 @return estimated memory size, in bytes.]]>
      </doc>
    </method>
    <method name="toDelimitedString" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="delim" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Write a tuple of values into a string. The output will be the result
 of calling toString on each of the values in the tuple.
 @param delim Delimiter to use in the string.
 @return A string containing the tuple.
 @throws ExecException this is never thrown. This only exists for backwards compatability reasons.]]>
      </doc>
    </method>
    <field name="NULL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Marker for indicating whether the value this object holds
 is a null]]>
      </doc>
    </field>
    <field name="NOTNULL" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Marker for indicating whether the value this object holds
 is not a null]]>
      </doc>
    </field>
    <doc>
    <![CDATA[An ordered list of Data.  A tuple has fields, numbered 0 through
 (number of fields - 1).  The entry in the field can be any datatype,
 or it can be null.
 <p>
 Tuples are constructed only by a {@link TupleFactory}.  A
 {@link DefaultTupleFactory}
 is provided by the system.  If users wish to use their own type of
 Tuple, they should also provide an implementation of {@link TupleFactory} to
 construct their types of Tuples.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.Tuple -->
  <!-- start class org.apache.pig.data.TupleFactory -->
  <class name="TupleFactory" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.TupleMaker"/>
    <constructor name="TupleFactory"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="getInstance" return="org.apache.pig.data.TupleFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a reference to the singleton factory.
 @return The TupleFactory to use to construct tuples.]]>
      </doc>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create an empty tuple.  This should be used as infrequently as
 possible, use newTuple(int) instead.
 @return Empty new tuple.]]>
      </doc>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="size" type="int"/>
      <doc>
      <![CDATA[Create a tuple with size fields.  Whenever possible this is preferred
 over the null constructor, as the constructor can preallocate the
 size of the container holding the fields.  Once this is called, it
 is legal to call Tuple.set(x, object), where x &lt; size.
 @param size Number of fields in the tuple.
 @return Tuple with size fields]]>
      </doc>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="java.util.List"/>
      <doc>
      <![CDATA[Create a tuple from the provided list of objects.  The underlying list
 will be copied.
 @param c List of objects to use as the fields of the tuple.
 @return A tuple with the list objects as its fields]]>
      </doc>
    </method>
    <method name="newTupleNoCopy" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="list" type="java.util.List"/>
      <doc>
      <![CDATA[Create a tuple from a provided list of objects, keeping the provided
 list.  The new tuple will take over ownership of the provided list.
 @param list List of objects that will become the fields of the tuple.
 @return A tuple with the list objects as its fields]]>
      </doc>
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="datum" type="java.lang.Object"/>
      <doc>
      <![CDATA[Create a tuple with a single element.  This is useful because of
 the fact that bags (currently) only take tuples, we often end up
 sticking a single element in a tuple in order to put it in a bag.
 @param datum Datum to put in the tuple.
 @return A tuple with one field]]>
      </doc>
    </method>
    <method name="tupleClass" return="java.lang.Class"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the actual class representing a tuple that the implementing
 factory will be returning.  This is needed because Hadoop needs
 to know the exact class we will be using for input and output.
 @return Class that implements tuple.]]>
      </doc>
    </method>
    <method name="resetSelf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Provided for testing purposes only.  This function should never be
 called by anybody but the unit tests.]]>
      </doc>
    </method>
    <method name="tupleRawComparatorClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the actual class implementing the raw comparator for tuples
 that the factory will be returning. Ovverride this to allow Hadoop to
 speed up tuple sorting. The actual returned class should know the
 serialization details for the tuple. The default implementation 
 (PigTupleDefaultRawComparator) will serialize the data before comparison
 @return Class that implements tuple raw comparator.]]>
      </doc>
    </method>
    <method name="isFixedSize" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method is used to inspect whether the Tuples created by this factory
 will be of a fixed size when they are created. In practical terms, this means
 whether they support append or not.
 @return where the Tuple is fixed or not]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A factory to construct tuples.  This class is abstract so that users can
 override the tuple factory if they desire to provide their own that
 returns their implementation of a tuple.  If the property
 pig.data.tuple.factory.name is set to a class name and
 pig.data.tuple.factory.jar is set to a URL pointing to a jar that
 contains the above named class, then {@link #getInstance()} will create a
 an instance of the named class using the indicated jar.  Otherwise, it
 will create an instance of {@link DefaultTupleFactory}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.TupleFactory -->
  <!-- start interface org.apache.pig.data.TupleMaker -->
  <interface name="TupleMaker"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="newTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="size" type="int"/>
    </method>
  </interface>
  <!-- end interface org.apache.pig.data.TupleMaker -->
  <!-- start interface org.apache.pig.data.TupleRawComparator -->
  <interface name="TupleRawComparator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.RawComparator"/>
    <implements name="org.apache.hadoop.conf.Configurable"/>
    <method name="hasComparedTupleNull" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Checks if one of the compared tuples had a null field. This method is meaningful only when
 {@link #compare(byte[],int,int,byte[],int,int)} has returned a zero value (i.e. tuples are determined to be
 equal).
 
 @return true if one of the compared tuples had a null field, false otherwise.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This interface is intended to compare Tuples. The semantics of Tuple comparison must take into account null values in
 different ways. According to SQL semantics nulls are not equal. But for other Pig/Latin statements nulls must be
 grouped together. This interface allows to check if there are null fields in the tuples compared using this
 comparator. This method is meaningful only when the tuples are determined to be equal by the
 {@link #compare(byte[],int,int,byte[],int,int)} method.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.TupleRawComparator -->
  <!-- start interface org.apache.pig.data.TypeAwareTuple -->
  <interface name="TypeAwareTuple"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.Tuple"/>
    <method name="setInt"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setFloat"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="float"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDouble"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="double"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setLong"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="long"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setString"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBoolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="boolean"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBigInteger"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="java.math.BigInteger"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBigDecimal"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="java.math.BigDecimal"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setBytes"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="byte[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setTuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="org.apache.pig.data.DataBag"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setMap"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="java.util.Map"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setDateTime"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <param name="val" type="org.joda.time.DateTime"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getInt" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getFloat" return="float"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getDouble" return="double"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getLong" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getString" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getBoolean" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getBigInteger" return="java.math.BigInteger"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getBigDecimal" return="java.math.BigDecimal"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getBytes" return="byte[]"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getTuple" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getDataBag" return="org.apache.pig.data.DataBag"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getMap" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getDateTime" return="org.joda.time.DateTime"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="idx" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="FieldIsNullException" type="org.apache.pig.data.FieldIsNullException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </interface>
  <!-- end interface org.apache.pig.data.TypeAwareTuple -->
  <!-- start class org.apache.pig.data.UnlimitedNullTuple -->
  <class name="UnlimitedNullTuple" extends="org.apache.pig.data.AbstractTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnlimitedNullTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.UnlimitedNullTuple -->
  <!-- start class org.apache.pig.data.WritableByteArray -->
  <class name="WritableByteArray" extends="java.io.ByteArrayOutputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="WritableByteArray"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="WritableByteArray" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="WritableByteArray" type="byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getData" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the current contents of the buffer.
 Data is only valid to {@link #getLength()}.
 @return contents of the buffer]]>
      </doc>
    </method>
    <method name="getLength" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the length of the valid data currently in the buffer
 @return length of valid data]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A reusable byte buffer implementation

 <p>This saves memory over creating a new byte[] and
 ByteArrayOutputStream each time data is written.

 <p>Typical usage is something like the following:<pre>

 WritableByteArray buffer = new WritableByteArray();
 while (... loop condition ...) {
   buffer.reset();
   ... write to buffer ...
   byte[] data = buffer.getData();
   int dataLength = buffer.getLength();
   ... write data to its ultimate destination ...
 }
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.WritableByteArray -->
  <doc>
  <![CDATA[<p>
This package contains implementations of Pig specific data types as well as
support functions for reading, writing, and using all Pig data types.
<p>
Whenever possible, Pig utilizes Java provided data types.  These include
Integer, Long, Float, Double, Boolean, String, and Map.  Tuple, Bag, and
DataByteArray are implemented in this package.  

<h2> Design </h2>
<p>
The choice was made to utilize Java provided types for two main reasons.  One,
it minimizes the burden on UDF developers, as they will have full access to
these types with no need to convert to and from Pig specific types.  Two,
maintenance costs will be lower as there is no need to implement and maintain
Pig specific data classes.  The drawback is that the only common parent of all
these types is Object.  Thus Pig is often required to treat its data objects
as Objects and then implement static methods to manipulate these Objects,
rather than being able to define a PigDatum class with common funcitons.
<p>
Three data types were implemented as Pig specific classes: 
{@link org.apache.pig.data.DataByteArray}, {@link org.apache.pig.data.Tuple},
and {@link org.apache.pig.data.DataBag}.  
<p>
DataByteArray represents an array of bytes, with no interpretation of those
bytes provided or assumed.  This could have been represented as byte[], but a
separate class was constructed to provide common functions needed to
manipulate these objects.
<p>
Tuple represents an ordered collection of data elements.  Every field in a
tuple can contain any Pig data type.  Tuple is presented as an interface to
allow differing implementations in cases where users have unique
representations of their data that they wish to preserve in their in memory
representations.  The {@link org.apache.pig.data.TupleFactory} is an
abstract class, to enable a user who has defined his own tuples to provide a
factory that creates those tuples.  Default implementations of Tuple and
TupleFactory are provided and used by default. 
<p>
DataBag represents a collection of Tuples.  DataBags can be of default type
(no extra features), sorted (tuples are sorted according to a provided
comparator function), or distinct (no duplicate tuples).  As with Tuple,
DataBag is presented as an interface, and 
{@link org.apache.pig.data.BagFactory} is an abstract class.  Default implementations of DataBag,
BagFactory, and all three types of bags are provided.]]>
  </doc>
</package>
<package name="org.apache.pig.data.utils">
  <!-- start class org.apache.pig.data.utils.BytesHelper -->
  <class name="BytesHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BytesHelper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getBitByPos" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="byt" type="byte"/>
      <param name="pos" type="int"/>
    </method>
    <method name="setBitByPos" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="byt" type="byte"/>
      <param name="bool" type="boolean"/>
      <param name="pos" type="int"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.utils.BytesHelper -->
  <!-- start class org.apache.pig.data.utils.MethodHelper -->
  <class name="MethodHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="isNotImplementedAnnotationPresent" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.lang.reflect.Method"/>
      <param name="clazz" type="java.lang.Class"/>
      <doc>
      <![CDATA[Given a method and a class, this will return true if the method is declared in the class,
 and if it is, if the NotImplemented annotation is present. This method will recurse through
 the parent class hierarchy until it finds the first instance of the method at hand, and then it will
 return accordingly.]]>
      </doc>
    </method>
    <method name="methodNotImplemented" return="java.lang.RuntimeException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="methodSignatureEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m1" type="java.lang.reflect.Method"/>
      <param name="m2" type="java.lang.reflect.Method"/>
      <doc>
      <![CDATA[This implements a stripped down version of method equality.
 method.equals(method) checks to see whether the declaring classes
 are equal, which we do not want. Instead, we just want to know
 if the methods are equal assuming that they come from the same
 class hierarchy (ie generated code which extends SchemaTuple).]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.data.utils.MethodHelper -->
  <!-- start interface org.apache.pig.data.utils.MethodHelper.NotImplemented -->
  <interface name="MethodHelper.NotImplemented"    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <doc>
    <![CDATA[This is an annotation which allows a class to signal that while it is "implementing"
 a method because it is specified by a parent class or interface, that the implementation
 just throws an exception, because it is not implemented.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.data.utils.MethodHelper.NotImplemented -->
  <!-- start class org.apache.pig.data.utils.SedesHelper -->
  <class name="SedesHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SedesHelper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="writeBytes"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="buf" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeChararray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="s" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readChararray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeGenericTuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readGenericTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="type" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeBooleanArray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="boolean[]"/>
      <param name="extra" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="writeBooleanArray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <param name="v" type="boolean[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readBooleanArray" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <param name="size" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.data.utils.SedesHelper -->
  <!-- start class org.apache.pig.data.utils.SedesHelper.Varint -->
  <class name="SedesHelper.Varint" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="writeSignedVarLong"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="long"/>
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Encodes a value using the variable-length encoding from
 <a href="http://code.google.com/apis/protocolbuffers/docs/encoding.html">
 Google Protocol Buffers</a>. It uses zig-zag encoding to efficiently
 encode signed values. If values are known to be nonnegative,
 {@link #writeUnsignedVarLong(long, DataOutput)} should be used.

 @param value value to encode
 @param out to write bytes to
 @throws IOException if {@link DataOutput} throws {@link IOException}]]>
      </doc>
    </method>
    <method name="writeUnsignedVarLong"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="long"/>
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Encodes a value using the variable-length encoding from
 <a href="http://code.google.com/apis/protocolbuffers/docs/encoding.html">
 Google Protocol Buffers</a>. Zig-zag is not used, so input must not be negative.
 If values can be negative, use {@link #writeSignedVarLong(long, DataOutput)}
 instead. This method treats negative input as like a large unsigned value.

 @param value value to encode
 @param out to write bytes to
 @throws IOException if {@link DataOutput} throws {@link IOException}]]>
      </doc>
    </method>
    <method name="writeSignedVarInt"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="int"/>
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@see #writeSignedVarLong(long, DataOutput)]]>
      </doc>
    </method>
    <method name="writeUnsignedVarInt"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="int"/>
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@see #writeUnsignedVarLong(long, DataOutput)]]>
      </doc>
    </method>
    <method name="readSignedVarLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param in to read bytes from
 @return decode value
 @throws IOException if {@link DataInput} throws {@link IOException}
 @throws IllegalArgumentException if variable-length value does not terminate
  after 9 bytes have been read
 @see #writeSignedVarLong(long, DataOutput)]]>
      </doc>
    </method>
    <method name="readUnsignedVarLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param in to read bytes from
 @return decode value
 @throws IOException if {@link DataInput} throws {@link IOException}
 @throws IllegalArgumentException if variable-length value does not terminate
  after 9 bytes have been read
 @see #writeUnsignedVarLong(long, DataOutput)]]>
      </doc>
    </method>
    <method name="readSignedVarInt" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@throws IllegalArgumentException if variable-length value does not terminate
  after 5 bytes have been read
 @throws IOException if {@link DataInput} throws {@link IOException}
 @see #readSignedVarLong(DataInput)]]>
      </doc>
    </method>
    <method name="readUnsignedVarInt" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@throws IllegalArgumentException if variable-length value does not terminate
  after 5 bytes have been read
 @throws IOException if {@link DataInput} throws {@link IOException}
 @see #readUnsignedVarLong(DataInput)]]>
      </doc>
    </method>
    <doc>
    <![CDATA[<p>Encodes signed and unsigned values using a common variable-length
 scheme, found for example in
 <a href="http://code.google.com/apis/protocolbuffers/docs/encoding.html">
 Google's Protocol Buffers</a>. It uses fewer bytes to encode smaller values,
 but will use slightly more bytes to encode large values.</p>

 <p>Signed values are further encoded using so-called zig-zag encoding
 in order to make them "compatible" with variable-length encoding.</p>

 <p>This is taken from mahout-core, and is included to avoid having to pull
 in the entirety of Mahout.</p>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.utils.SedesHelper.Varint -->
  <!-- start class org.apache.pig.data.utils.StructuresHelper -->
  <class name="StructuresHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
  </class>
  <!-- end class org.apache.pig.data.utils.StructuresHelper -->
  <!-- start class org.apache.pig.data.utils.StructuresHelper.Pair -->
  <class name="StructuresHelper.Pair" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Pair" type="java.lang.Object, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFirst" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSecond" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="make" return="org.apache.pig.data.utils.StructuresHelper.Pair"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="java.lang.Object"/>
      <param name="t2" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This is a helper class which makes it easy to have pairs of values,
 and to use them as keys and values in Maps.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.utils.StructuresHelper.Pair -->
  <!-- start class org.apache.pig.data.utils.StructuresHelper.SchemaKey -->
  <class name="StructuresHelper.SchemaKey" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaKey" type="org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The hashcode logic is taken from the Schema class, including how fields
 are handled. The difference is that aliases are ignored.]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="get" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This encapsulates a Schema and allows it to be used in such a way that
 any aliases are ignored in equality.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.data.utils.StructuresHelper.SchemaKey -->
  <!-- start class org.apache.pig.data.utils.StructuresHelper.Triple -->
  <class name="StructuresHelper.Triple" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Triple" type="java.lang.Object, java.lang.Object, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFirst" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSecond" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getThird" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="make" return="org.apache.pig.data.utils.StructuresHelper.Triple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="java.lang.Object"/>
      <param name="t2" type="java.lang.Object"/>
      <param name="t3" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.data.utils.StructuresHelper.Triple -->
</package>
<package name="org.apache.pig.impl">
  <!-- start class org.apache.pig.impl.PigContext -->
  <class name="PigContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigContext" type="org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PigException" type="org.apache.pig.PigException"/>
    </constructor>
    <constructor name="PigContext" type="java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="PigException" type="org.apache.pig.PigException"/>
    </constructor>
    <constructor name="PigContext" type="org.apache.pig.ExecType, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigContext" type="org.apache.pig.ExecType, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParams" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setParams"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="params" type="java.util.List"/>
    </method>
    <method name="getParamFiles" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setParamFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="paramFiles" type="java.util.List"/>
    </method>
    <method name="getPreprocessorContext" return="org.apache.pig.tools.parameters.PreprocessorContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParamVal" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="initializeImportList"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="importListCommandLineProperties" type="java.lang.String"/>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="setJobtrackerLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newLocation" type="java.lang.String"/>
    </method>
    <method name="addScriptFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[calls: addScriptFile(path, new File(path)), ensuring that a given path is
 added to the jar at most once.
 @param path]]>
      </doc>
    </method>
    <method name="addScriptFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[this method adds script files that must be added to the shipped jar
 named differently from their local fs path.
 @param name  name in the jar
 @param path  path on the local fs]]>
      </doc>
    </method>
    <method name="addScriptJar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
    </method>
    <method name="addJar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="MalformedURLException" type="java.net.MalformedURLException"/>
    </method>
    <method name="addJar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="resource" type="java.net.URL"/>
      <param name="originalPath" type="java.lang.String"/>
      <exception name="MalformedURLException" type="java.net.MalformedURLException"/>
    </method>
    <method name="hasJar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
    </method>
    <method name="markJarAsPredeployed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[Adds the specified path to the predeployed jars list. These jars will
 never be included in generated job jar.
 <p>
 This can be called for jars that are pre-installed on the Hadoop
 cluster to reduce the size of the job jar.]]>
      </doc>
    </method>
    <method name="doParamSubstitution" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <param name="params" type="java.util.List"/>
      <param name="paramFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="doParamSubstitution" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="java.io.BufferedReader"/>
      <param name="params" type="java.util.List"/>
      <param name="paramFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="doParamSubstitution" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="java.io.BufferedReader"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="doParamSubstitutionOutputToFile" return="java.io.BufferedReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="java.io.BufferedReader"/>
      <param name="outputFilePath" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="paramFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="doParamSubstitutionOutputToFile" return="java.io.BufferedReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="java.io.BufferedReader"/>
      <param name="outputFilePath" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptFiles" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[script files as name/file pairs to be added to the job jar
 @return name/file pairs]]>
      </doc>
    </method>
    <method name="rename"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldName" type="java.lang.String"/>
      <param name="newName" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="copy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <param name="localDst" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getExecutionEngine" return="org.apache.pig.backend.executionengine.ExecutionEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDfs" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLfs" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFs" return="org.apache.pig.backend.datastorage.DataStorage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Provides configuration information.

 @return - information about the configuration used to connect to
         execution engine]]>
      </doc>
    </method>
    <method name="getConf" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="use {@link #getProperties()} instead">
      <doc>
      <![CDATA[@deprecated use {@link #getProperties()} instead]]>
      </doc>
    </method>
    <method name="getLastAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLastAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="java.lang.String"/>
    </method>
    <method name="registerFunction"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="function" type="java.lang.String"/>
      <param name="functionSpec" type="org.apache.pig.FuncSpec"/>
      <doc>
      <![CDATA[Defines an alias for the given function spec. This
 is useful for functions that require arguments to the
 constructor.

 @param function - the new function alias to define.
 @param functionSpec - the FuncSpec object representing the name of
 the function class and any arguments to constructor.]]>
      </doc>
    </method>
    <method name="registerStreamCmd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="command" type="org.apache.pig.impl.streaming.StreamingCommand"/>
      <doc>
      <![CDATA[Defines an alias for the given streaming command.

 This is useful for complicated streaming command specs.

 @param alias - the new command alias to define.
 @param command - the command]]>
      </doc>
    </method>
    <method name="getExecType" return="org.apache.pig.ExecType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the type of execution currently in effect.

 @return current execution type]]>
      </doc>
    </method>
    <method name="createCl" return="java.lang.ClassLoader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jarFile" type="java.lang.String"/>
      <exception name="MalformedURLException" type="java.net.MalformedURLException"/>
      <doc>
      <![CDATA[Creates a Classloader based on the passed jarFile and any extra jar files.

 @param jarFile
            the jar file to be part of the newly created Classloader. This jar file plus any
            jars in the extraJars list will constitute the classpath.
 @return the new Classloader.
 @throws MalformedURLException]]>
      </doc>
    </method>
    <method name="resolveClassName" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="instantiateObjectFromParams" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="classParamKey" type="java.lang.String"/>
      <param name="argParamKey" type="java.lang.String"/>
      <param name="clazz" type="java.lang.Class"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A common Pig pattern for initializing objects via system properties is to support passing
 something like this on the command line:
 <code>-Dpig.notification.listener=MyClass</code>
 <code>-Dpig.notification.listener.arg=myConstructorStringArg</code>

 This method will properly initialize the class with the args, if they exist.
 @param conf
 @param classParamKey the property used to identify the class
 @param argParamKey the property used to identify the class args
 @param clazz The class that is expected
 @return <T> T]]>
      </doc>
    </method>
    <method name="instantiateFuncFromSpec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="org.apache.pig.FuncSpec"/>
    </method>
    <method name="instantiateFuncFromSpec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="java.lang.String"/>
    </method>
    <method name="getClassForAlias" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="instantiateFuncFromAlias" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCommandForAlias" return="org.apache.pig.impl.streaming.StreamingCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <doc>
      <![CDATA[Get the {@link StreamingCommand} for the given alias.

 @param alias the alias for the <code>StreamingCommand</code>
 @return <code>StreamingCommand</code> for the alias]]>
      </doc>
    </method>
    <method name="setExecType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="execType" type="org.apache.pig.ExecType"/>
    </method>
    <method name="createExecutableManager" return="org.apache.pig.impl.streaming.ExecutableManager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Create a new {@link ExecutableManager} depending on the ExecType.

 @return a new {@link ExecutableManager} depending on the ExecType
 @throws ExecException]]>
      </doc>
    </method>
    <method name="getFuncSpecFromAlias" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="addPathToSkip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <doc>
      <![CDATA[Add a path to be skipped while automatically shipping binaries for
 streaming.

 @param path path to be skipped]]>
      </doc>
    </method>
    <method name="getPathsToSkip" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get paths which are to skipped while automatically shipping binaries for
 streaming.

 @return paths which are to skipped while automatically shipping binaries
         for streaming]]>
      </doc>
    </method>
    <method name="getErrorSource" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Check the execution mode and return the appropriate error source

 @return error source]]>
      </doc>
    </method>
    <method name="getPackageImportList" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPackageImportList"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="list" type="java.util.ArrayList"/>
    </method>
    <method name="setLog4jProperties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="java.util.Properties"/>
    </method>
    <method name="getLog4jProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDefaultLogLevel" return="org.apache.log4j.Level"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDefaultLogLevel"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="org.apache.log4j.Level"/>
    </method>
    <method name="getDefaultParallel" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getClassLoader" return="java.lang.ClassLoader"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setClassLoader"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cl" type="java.lang.ClassLoader"/>
    </method>
    <field name="JOB_NAME" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_NAME_PREFIX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_PRIORITY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_CMD_ARGS_REMAINDERS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="extraJars" type="java.util.List"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scriptJars" type="java.util.List"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="predeployedJars" type="java.util.Vector"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scriptFiles" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="scriptingUDFs" type="java.util.Map"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="macros" type="java.util.Map"
      transient="true" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="defaultParallel" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="inExplain" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="inDumpSchema" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="inIllustrator" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.PigContext -->
  <!-- start class org.apache.pig.impl.PigImplConstants -->
  <class name="PigImplConstants" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <field name="PIG_OPTIMIZER_RULES_KEY" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[{@value} is a pig-internal properties key for serializing
 the set of disabled optimizer rules.]]>
      </doc>
    </field>
    <field name="PIG_EXECTYPE_MODE_LOCAL" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used by pig to indicate that current job is running in local mode (local/tez_local)
 ie. ExecType.isLocal() is true]]>
      </doc>
    </field>
    <field name="CONVERTED_TO_LOCAL" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used by pig to indicate that current job has been converted to run in local mode]]>
      </doc>
    </field>
    <field name="CONVERTED_TO_FETCH" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used by pig to indicate that current job has been converted to run in fetch mode]]>
      </doc>
    </field>
    <field name="PIG_SPLIT_INDEX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Indicate the split index of the task. Used by merge cogroup]]>
      </doc>
    </field>
    <field name="REDUCER_DEFAULT_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Parallelism for the reducer]]>
      </doc>
    </field>
    <field name="REDUCER_REQUESTED_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCER_ESTIMATED_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_CROSS_PARALLELISM" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Parallelism to be used for CROSS operation by GFCross UDF]]>
      </doc>
    </field>
    <field name="PIG_CONTEXT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Pig context]]>
      </doc>
    </field>
    <field name="PIG_LOG4J_PROPERTIES" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Pig log4j properties]]>
      </doc>
    </field>
    <field name="PIG_AUDIT_ID" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A unique id for a Pig session used as callerId for underlining component]]>
      </doc>
    </field>
    <field name="PIG_DATETIME_ZONES_LIST" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used to carry zone ID list from frontend to backend (generated by frontend during Job creation)]]>
      </doc>
    </field>
    <field name="SHUTDOWN_HOOK_JOB_KILL_PRIORITY" type="int"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SHUTDOWN_HOOK_TMP_FILES_CLEANUP_PRIORITY" type="int"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SHUTDOWN_HOOK_ATS_CLIENT_PRIORITY" type="int"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Private, internal constants for use by Pig itself. Please see
 {@link org.apache.pig.PigConstants} if looking for public constants.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.PigImplConstants -->
</package>
<package name="org.apache.pig.impl.builtin">
  <!-- start class org.apache.pig.impl.builtin.DefaultIndexableLoader -->
  <class name="DefaultIndexableLoader" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.IndexableLoadFunc"/>
    <constructor name="DefaultIndexableLoader" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="seekNear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="keys" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setIndexFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="indexFile" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[Used by MergeJoin . Takes an index on sorted data
 consisting of sorted tuples of the form
 (key1,key2..., position,splitIndex) as input. For key given in seekNear(Tuple)
 finds the splitIndex that can contain the key and initializes ReadToEndLoader
 to read from that splitIndex onwards , in the sequence of splits in the index]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.DefaultIndexableLoader -->
  <!-- start class org.apache.pig.impl.builtin.FindQuantiles -->
  <class name="FindQuantiles" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FindQuantiles"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="FindQuantiles" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[first field in the input tuple is the number of quantiles to generate
 second field is the *sorted* bag of samples]]>
      </doc>
    </method>
    <field name="QUANTILES_LIST" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="WEIGHTED_PARTS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="numQuantiles" type="java.lang.Integer"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="samples" type="org.apache.pig.data.DataBag"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.builtin.FindQuantiles -->
  <!-- start class org.apache.pig.impl.builtin.GetMemNumRows -->
  <class name="GetMemNumRows" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GetMemNumRows"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param  in - input tuple
 @return - tuple having size in memory of this tuple and numRows if this
 is specially marked tuple having number of rows field]]>
      </doc>
    </method>
    <method name="getReturnType" return="java.lang.reflect.Type"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[UDF to get memory size of a tuple and extracts number of rows value from
 special tuple created by PoissonSampleLoader
 It is used by skewed join.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.GetMemNumRows -->
  <!-- start class org.apache.pig.impl.builtin.GFAny -->
  <class name="GFAny" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GFAny"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GFAny" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="defaultNumGroups" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[built-in grouping function; permits system to choose any grouping.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.GFAny -->
  <!-- start class org.apache.pig.impl.builtin.GFCross -->
  <class name="GFCross" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GFCross" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCrossKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.builtin.GFCross -->
  <!-- start class org.apache.pig.impl.builtin.GFReplicate -->
  <class name="GFReplicate" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GFReplicate"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GFReplicate" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.builtin.GFReplicate -->
  <!-- start class org.apache.pig.impl.builtin.IdentityColumn -->
  <class name="IdentityColumn" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IdentityColumn"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[Returns the input, used by DuplicateForEachColumnRewrite
 to rewrite duplicate columns in ForEach. Not intended for 
 external use]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.IdentityColumn -->
  <!-- start class org.apache.pig.impl.builtin.IsFirstReduceOfKey -->
  <class name="IsFirstReduceOfKey" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IsFirstReduceOfKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="tf" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="reducerMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.builtin.IsFirstReduceOfKey -->
  <!-- start class org.apache.pig.impl.builtin.PartitionSkewedKeys -->
  <class name="PartitionSkewedKeys" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionSkewedKeys"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PartitionSkewedKeys" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[first field in the input tuple is the number of reducers

 second field is the *sorted* bag of samples
 this should be called only once]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <field name="PARTITION_LIST" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TOTAL_REDUCERS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT_PERCENT_MEMUSAGE" type="float"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="totalReducers_" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Partition reducers for skewed keys. This is used in skewed join during
 sampling process. It figures out how many reducers required to process a
 skewed key without causing spill and allocate this number of reducers to this
 key. This UDF outputs a map which contains 2 keys:

 <li>&quot;totalreducers&quot;: the value is an integer wich indicates the
         number of total reducers for this join job </li>
 <li>&quot;partition.list&quot;: the value is a bag which contains a
 list of tuples with each tuple representing partitions for a skewed key.
 The tuple has format of &lt;join key&gt;,&lt;min index of reducer&gt;,
 &lt;max index of reducer&gt; </li>

 For example, a join job configures 10 reducers, and the sampling process
 finds out 2 skewed keys, &quot;swpv&quot; needs 4 reducers and &quot;swps&quot;
 needs 2 reducers. The output file would be like following:

 {totalreducers=10, partition.list={(swpv,0,3), (swps,4,5)}}

 The name of this file is set into next MR job which does the actual join.
 That job uses this information to partition skewed keys properly]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.PartitionSkewedKeys -->
  <!-- start class org.apache.pig.impl.builtin.PoissonSampleLoader -->
  <class name="PoissonSampleLoader" extends="org.apache.pig.impl.builtin.SampleLoader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PoissonSampleLoader" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="NUMROWS_TUPLE_MARKER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[See "Skewed Join sampler" in http://wiki.apache.org/pig/PigSampler]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.PoissonSampleLoader -->
  <!-- start class org.apache.pig.impl.builtin.RandomSampleLoader -->
  <class name="RandomSampleLoader" extends="org.apache.pig.impl.builtin.SampleLoader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RandomSampleLoader" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Construct with a class of loader to use.
 @param funcSpec func spec of the loader to use.
 @param ns Number of samples per map to collect. 
 Arguments are passed as strings instead of actual types (FuncSpec, int) 
 because FuncSpec only supports string arguments to
 UDF constructors.]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Allocate a buffer for numSamples elements, populate it with the 
 first numSamples tuples, and continue scanning rest of the input.
 For every ith next() call, we generate a random number r s.t. 0<=r<i,
 and if r<numSamples we insert the new tuple into our buffer at position r.
 This gives us a random sample of the tuples in the partition.]]>
      </doc>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="nextSampleIdx" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A loader that samples the data.  
 It randomly samples tuples from input. The number of tuples to be sampled
 has to be set before the first call to getNext().
  see documentation of getNext() call.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.RandomSampleLoader -->
  <!-- start class org.apache.pig.impl.builtin.ReadScalars -->
  <class name="ReadScalars" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReadScalars"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Java level API

 @param input
            expects a single constant that is the name of the file to be
            read]]>
      </doc>
    </method>
    <method name="setOutputBuffer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputBuffer" type="java.util.Map"/>
    </method>
    <doc>
    <![CDATA[ReadScalars reads a line from a file and returns it as its value. The
 file is only read once, and the same line is returned over and over again.
 This is useful for incorporating a result from an agregation into another
 evaluation.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.ReadScalars -->
  <!-- start class org.apache.pig.impl.builtin.SampleLoader -->
  <class name="SampleLoader" extends="org.apache.pig.LoadFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SampleLoader" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setNumSamples"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="int"/>
    </method>
    <method name="getNumSamples" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="skipNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="computeSamples"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="java.util.ArrayList"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relativeToAbsolutePath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <field name="numSamples" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="loader" type="org.apache.pig.LoadFunc"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Abstract class that specifies the interface for sample loaders]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.builtin.SampleLoader -->
  <!-- start class org.apache.pig.impl.builtin.StreamingUDF -->
  <class name="StreamingUDF" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUDF" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="StreamingUDFOutputSchemaException" type="org.apache.pig.impl.streaming.StreamingUDFOutputSchemaException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <field name="TURN_ON_OUTPUT_CAPTURING" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.builtin.StreamingUDF -->
  <!-- start class org.apache.pig.impl.builtin.StreamingUDF.ProcessKiller -->
  <class name="StreamingUDF.ProcessKiller" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Runnable"/>
    <constructor name="ProcessKiller"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.builtin.StreamingUDF.ProcessKiller -->
</package>
<package name="org.apache.pig.impl.io">
  <!-- start class org.apache.pig.impl.io.BinStorageInputFormat -->
  <class name="BinStorageInputFormat" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFileInputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinStorageInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.BinStorageInputFormat -->
  <!-- start class org.apache.pig.impl.io.BinStorageOutputFormat -->
  <class name="BinStorageOutputFormat" extends="org.apache.hadoop.mapreduce.lib.output.FileOutputFormat"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinStorageOutputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.BinStorageOutputFormat -->
  <!-- start class org.apache.pig.impl.io.BinStorageRecordReader -->
  <class name="BinStorageRecordReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinStorageRecordReader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="genericSplit" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCurrentValue" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the progress within the split]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="RECORD_1" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_2" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_3" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Treats keys as offset in file and value as line.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.BinStorageRecordReader -->
  <!-- start class org.apache.pig.impl.io.BinStorageRecordWriter -->
  <class name="BinStorageRecordWriter" extends="org.apache.hadoop.mapreduce.RecordWriter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinStorageRecordWriter" type="java.io.DataOutputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="wc" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="RECORD_1" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_2" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_3" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.io.BinStorageRecordWriter -->
  <!-- start class org.apache.pig.impl.io.BufferedPositionedInputStream -->
  <class name="BufferedPositionedInputStream" extends="java.io.InputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BufferedPositionedInputStream" type="java.io.InputStream, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BufferedPositionedInputStream" type="java.io.InputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="off" type="int"/>
      <param name="len" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="skip" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPosition" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns the current position in the tracked InputStream.]]>
      </doc>
    </method>
    <method name="readLine" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="charset" type="java.nio.charset.Charset"/>
      <param name="delimiter" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.BufferedPositionedInputStream -->
  <!-- start class org.apache.pig.impl.io.FileLocalizer -->
  <class name="FileLocalizer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FileLocalizer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="openDFSFile" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This function is meant to be used if the mappers/reducers want to access any HDFS file
 @param fileName
 @return InputStream of the open file.
 @throws IOException]]>
      </doc>
    </method>
    <method name="openDFSFile" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="properties" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="properties" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link #open(String, PigContext)} instead">
      <param name="fileName" type="java.lang.String"/>
      <param name="execType" type="org.apache.pig.ExecType"/>
      <param name="storage" type="org.apache.pig.backend.datastorage.DataStorage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This function returns an input stream to a local file system file or
 a file residing on Hadoop's DFS
 @param fileName The filename to open
 @param execType execType indicating whether executing in local mode or MapReduce mode (Hadoop)
 @param storage The DataStorage object used to open the fileSpec
 @return InputStream to the fileSpec
 @throws IOException
 @deprecated Use {@link #open(String, PigContext)} instead]]>
      </doc>
    </method>
    <method name="fullPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link #fullPath(String, PigContext)} instead">
      <param name="fileName" type="java.lang.String"/>
      <param name="storage" type="org.apache.pig.backend.datastorage.DataStorage"/>
      <doc>
      <![CDATA[@deprecated Use {@link #fullPath(String, PigContext)} instead]]>
      </doc>
    </method>
    <method name="open" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileSpec" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="open" return="org.apache.pig.backend.datastorage.SeekableInputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileSpec" type="java.lang.String"/>
      <param name="offset" type="long"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param fileSpec
 @param offset
 @param pigContext
 @return SeekableInputStream
 @throws IOException

 This is an overloaded version of open where there is a need to seek in stream. Currently seek is supported
 only in file, not in directory or glob.]]>
      </doc>
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileSpec" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="create" return="java.io.OutputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileSpec" type="java.lang.String"/>
      <param name="append" type="boolean"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="delete" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileSpec" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setInitialized"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="initialized" type="boolean"/>
      <doc>
      <![CDATA[This method is only used by test code to reset state.
 @param initialized]]>
      </doc>
    </method>
    <method name="getTemporaryResourcePath" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="true"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="DataStorageException" type="org.apache.pig.backend.datastorage.DataStorageException"/>
      <doc>
      <![CDATA[Accessor method to get the resource ContainerDescriptor used for tez resource
 path bound to this thread. Calling this method lazy-initialized the
 resourcePath object. This path is different than relativeRoot in that
 calling PigServer.shutdown will only remove relativeRoot but not resourthPath
 since resourthPath should be available in the entire session

 @param pigContext
 @return temporary resource path
 @throws DataStorageException]]>
      </doc>
    </method>
    <method name="deleteTempFiles"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="deleteTempResourceFiles"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTemporaryPath" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTemporaryPath" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="suffix" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="hadoopify" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="fullPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="fileExists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="fileExists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link #fileExists(String, PigContext)} instead">
      <param name="filename" type="java.lang.String"/>
      <param name="store" type="org.apache.pig.backend.datastorage.DataStorage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@deprecated Use {@link #fileExists(String, PigContext)} instead]]>
      </doc>
    </method>
    <method name="isFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link #isFile(String, PigContext)} instead">
      <param name="filename" type="java.lang.String"/>
      <param name="store" type="org.apache.pig.backend.datastorage.DataStorage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@deprecated Use {@link #isFile(String, PigContext)} instead]]>
      </doc>
    </method>
    <method name="isDirectory" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isDirectory" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="Use {@link #isDirectory(String, PigContext)} instead.">
      <param name="filename" type="java.lang.String"/>
      <param name="store" type="org.apache.pig.backend.datastorage.DataStorage"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@deprecated Use {@link #isDirectory(String, PigContext)} instead.]]>
      </doc>
    </method>
    <method name="setR"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="r" type="java.util.Random"/>
    </method>
    <method name="parseCygPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="style" type="int"/>
      <doc>
      <![CDATA[Convert path from Windows convention to Unix convention. Invoked under
 cygwin.

 @param path
            path in Windows convention
 @return path in Unix convention, null if fail]]>
      </doc>
    </method>
    <method name="fetchFile" return="org.apache.pig.impl.io.FileLocalizer.FetchFileRet"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <param name="filePath" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Ensures that the passed path is on the local file system, fetching it
 to the java.io.tmpdir if necessary. If pig.jars.relative.to.dfs is true
 and dfs is not null, then a relative path is assumed to be relative to the passed
 dfs active directory. Else they are assumed to be relative to the local working
 directory.]]>
      </doc>
    </method>
    <method name="fetchFiles" return="org.apache.pig.impl.io.FileLocalizer.FetchFileRet[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <param name="filePath" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Ensures that the passed files pointed to by path are on the local file system,
 fetching them to the java.io.tmpdir if necessary. If pig.jars.relative.to.dfs is true
 and dfs is not null, then a relative path is assumed to be relative to the passed
 dfs active directory. Else they are assumed to be relative to the local working
 directory.]]>
      </doc>
    </method>
    <method name="fetchResource" return="org.apache.pig.impl.io.FileLocalizer.FetchFileRet"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ResourceNotFoundException" type="org.apache.pig.impl.io.ResourceNotFoundException"/>
      <doc>
      <![CDATA[Ensures that the passed resource is available from the local file system, fetching
 it to a temporary directory.

 @throws ResourceNotFoundException]]>
      </doc>
    </method>
    <field name="LOCAL_PREFIX" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STYLE_UNIX" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STYLE_WINDOWS" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OWNER_ONLY_PERMS" type="org.apache.hadoop.fs.permission.FsPermission"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.io.FileLocalizer -->
  <!-- start class org.apache.pig.impl.io.FileLocalizer.DataStorageInputStreamIterator -->
  <class name="FileLocalizer.DataStorageInputStreamIterator" extends="java.io.InputStream"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataStorageInputStreamIterator" type="org.apache.pig.backend.datastorage.ElementDescriptor[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="available" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <param name="off" type="int"/>
      <param name="len" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="read" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="byte[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="skip" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.FileLocalizer.DataStorageInputStreamIterator -->
  <!-- start class org.apache.pig.impl.io.FileLocalizer.FetchFileRet -->
  <class name="FileLocalizer.FetchFileRet" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FetchFileRet" type="java.io.File, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="file" type="java.io.File"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="didFetch" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.io.FileLocalizer.FetchFileRet -->
  <!-- start class org.apache.pig.impl.io.FileSpec -->
  <class name="FileSpec" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="FileSpec" type="java.lang.String, org.apache.pig.FuncSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFuncName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSize" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A simple class that specifies a file name and storage function which is used to read/write it]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.FileSpec -->
  <!-- start class org.apache.pig.impl.io.InterRecordReader -->
  <class name="InterRecordReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterRecordReader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="genericSplit" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCurrentValue" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the progress within the split]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="RECORD_1" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_2" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_3" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A record reader used to read data written using {@link InterRecordWriter}
 It uses the default InterSedes object for deserialization.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.InterRecordReader -->
  <!-- start class org.apache.pig.impl.io.InterRecordWriter -->
  <class name="InterRecordWriter" extends="org.apache.hadoop.mapreduce.RecordWriter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterRecordWriter" type="java.io.DataOutputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="wc" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <field name="RECORD_1" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_2" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RECORD_3" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A record reader used to write data compatible with {@link InterRecordWriter}
 It uses the default InterSedes object for serialization.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.InterRecordWriter -->
  <!-- start class org.apache.pig.impl.io.InterStorage -->
  <class name="InterStorage" extends="org.apache.pig.FileInputLoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="InterStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Simple binary nested reader format]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="useLog" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[LOAD FUNCTION FOR PIG INTERNAL USE ONLY!
 This load function is used for storing intermediate data between MR jobs of
 a pig query.
 The serialization format of this load function can change in newer
  versions of pig, so this should NOT be used to store any persistent data.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.InterStorage -->
  <!-- start class org.apache.pig.impl.io.InterStorage.InterInputFormat -->
  <class name="InterStorage.InterInputFormat" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFileInputFormat"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.InterStorage.InterInputFormat -->
  <!-- start class org.apache.pig.impl.io.InterStorage.InterOutputFormat -->
  <class name="InterStorage.InterOutputFormat" extends="org.apache.hadoop.mapreduce.lib.output.FileOutputFormat"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InterOutputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.InterStorage.InterOutputFormat -->
  <!-- start class org.apache.pig.impl.io.NullableBag -->
  <class name="NullableBag" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableBag" type="org.apache.pig.data.DataBag"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param b]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableBag -->
  <!-- start class org.apache.pig.impl.io.NullableBigDecimalWritable -->
  <class name="NullableBigDecimalWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableBigDecimalWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableBigDecimalWritable" type="java.math.BigDecimal"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableBigDecimalWritable -->
  <!-- start class org.apache.pig.impl.io.NullableBigIntegerWritable -->
  <class name="NullableBigIntegerWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableBigIntegerWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableBigIntegerWritable" type="java.math.BigInteger"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableBigIntegerWritable -->
  <!-- start class org.apache.pig.impl.io.NullableBooleanWritable -->
  <class name="NullableBooleanWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableBooleanWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableBooleanWritable" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableBooleanWritable -->
  <!-- start class org.apache.pig.impl.io.NullableBytesWritable -->
  <class name="NullableBytesWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableBytesWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableBytesWritable" type="java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param obj]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableBytesWritable -->
  <!-- start class org.apache.pig.impl.io.NullableDateTimeWritable -->
  <class name="NullableDateTimeWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableDateTimeWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableDateTimeWritable" type="org.joda.time.DateTime"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableDateTimeWritable -->
  <!-- start class org.apache.pig.impl.io.NullableDoubleWritable -->
  <class name="NullableDoubleWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableDoubleWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableDoubleWritable" type="double"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableDoubleWritable -->
  <!-- start class org.apache.pig.impl.io.NullableFloatWritable -->
  <class name="NullableFloatWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableFloatWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableFloatWritable" type="float"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableFloatWritable -->
  <!-- start class org.apache.pig.impl.io.NullableIntWritable -->
  <class name="NullableIntWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableIntWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableIntWritable" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableIntWritable -->
  <!-- start class org.apache.pig.impl.io.NullableLongWritable -->
  <class name="NullableLongWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableLongWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableLongWritable" type="long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param value]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableLongWritable -->
  <!-- start class org.apache.pig.impl.io.NullablePartitionWritable -->
  <class name="NullablePartitionWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullablePartitionWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullablePartitionWritable" type="org.apache.pig.impl.io.PigNullableWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="k" type="org.apache.pig.impl.io.PigNullableWritable"/>
    </method>
    <method name="getKey" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPartition"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="int"/>
    </method>
    <method name="getPartition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.impl.io.NullablePartitionWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
    </method>
    <method name="getIndex" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="byte"/>
    </method>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[NullablePartitionWritable is an adaptor class around PigNullableWritable that adds a partition
 index to the class.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.NullablePartitionWritable -->
  <!-- start class org.apache.pig.impl.io.NullableText -->
  <class name="NullableText" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableText"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableText" type="byte[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param utf8]]>
      </doc>
    </constructor>
    <constructor name="NullableText" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param string]]>
      </doc>
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableText -->
  <!-- start class org.apache.pig.impl.io.NullableTuple -->
  <class name="NullableTuple" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableTuple" type="org.apache.pig.data.Tuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param t]]>
      </doc>
    </constructor>
    <constructor name="NullableTuple" type="org.apache.pig.impl.io.NullableTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableTuple -->
  <!-- start class org.apache.pig.impl.io.NullableUnknownWritable -->
  <class name="NullableUnknownWritable" extends="org.apache.pig.impl.io.PigNullableWritable"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NullableUnknownWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="NullableUnknownWritable" type="org.apache.hadoop.io.WritableComparable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class can be used when data type is 'Unknown' and 
 there is a need for PigNullableWritable object.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.NullableUnknownWritable -->
  <!-- start class org.apache.pig.impl.io.PigFile -->
  <class name="PigFile" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigFile" type="java.lang.String, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigFile" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="load" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lfunc" type="org.apache.pig.LoadFunc"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="store"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="data" type="org.apache.pig.data.DataBag"/>
      <param name="storeFuncSpec" type="org.apache.pig.FuncSpec"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.PigFile -->
  <!-- start class org.apache.pig.impl.io.PigNullableWritable -->
  <class name="PigNullableWritable" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.io.WritableComparable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="PigNullableWritable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="clone" return="org.apache.pig.impl.io.PigNullableWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[Compare two nullable objects.  Step one is to check if either or both
 are null.  If one is null and the other is not, then the one that is
 null is declared to be less.  If both are null the indices are
 compared.  If neither are null the indices are again compared.  If
 these are equal, finally the values are compared.

 These comparators are used by hadoop as part of the post-map sort, when
 the data is still in object format.]]>
      </doc>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the isNull]]>
      </doc>
    </method>
    <method name="setNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isNull" type="boolean"/>
      <doc>
      <![CDATA[@param isNull the isNull to set]]>
      </doc>
    </method>
    <method name="getIndex" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the index for this value]]>
      </doc>
    </method>
    <method name="setIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="index" type="byte"/>
      <doc>
      <![CDATA[@param index for this value.]]>
      </doc>
    </method>
    <method name="getValueAsPigType" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return The wrapped value as a pig type, not as a WritableComparable.]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.lang.Object"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="mqFlag" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[indices in multiquery optimized maps
 will have the Most Significant Bit set
 This is a bitmask used in those cases.]]>
      </doc>
    </field>
    <field name="idxSpace" type="byte"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[regular indices used in group and cogroup
  can only go from 0x00 to 0x7F]]>
      </doc>
    </field>
    <field name="mValue" type="org.apache.hadoop.io.WritableComparable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A base class for all types that pig uses to move data between map and
 reduce.  It implements WritableComparable so that compareTo etc. can be
 called.  It also wraps a WritableComparable 'value'.  This is set by each
 different type to be an object of its specific type.
 It also provides a getIndex() and setIndex() calls that are used to get
 and set the index.  These can be used by LocalRearrange, the partitioner,
 and Package to determine the index.

 Index and the null indicator are packed into one byte to save space.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.PigNullableWritable -->
  <!-- start class org.apache.pig.impl.io.ReadToEndLoader -->
  <class name="ReadToEndLoader" extends="org.apache.pig.LoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="ReadToEndLoader" type="org.apache.pig.LoadFunc, org.apache.hadoop.conf.Configuration, java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param wrappedLoadFunc
 @param conf
 @param inputLocation
 @param splitIndex
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </constructor>
    <constructor name="ReadToEndLoader" type="org.apache.pig.LoadFunc, org.apache.hadoop.conf.Configuration, java.lang.String, int, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="ReadToEndLoader" type="org.apache.pig.LoadFunc, org.apache.hadoop.conf.Configuration, java.lang.String, int[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This constructor takes an array of split indexes (toReadSplitIdxs) of the
 splits to be read.
 @param wrappedLoadFunc
 @param conf
 @param inputLocation
 @param toReadSplitIdxs
 @throws IOException
 @throws InterruptedException]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[This is wrapper Loader which wraps a real LoadFunc underneath and allows
 to read a file completely starting a given split (indicated by a split index
 which is used to look in the List<InputSplit> returned by the underlying
 InputFormat's getSplits() method). So if the supplied split index is 0, this
 loader will read the entire file. If it is non zero it will read the partial
 file beginning from that split to the last split.

 The call sequence to use this is:
 1) construct an object using the constructor
 2) Call getNext() in a loop till it returns null]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.ReadToEndLoader -->
  <!-- start class org.apache.pig.impl.io.ResourceNotFoundException -->
  <class name="ResourceNotFoundException" extends="java.lang.Exception"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ResourceNotFoundException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.ResourceNotFoundException -->
  <!-- start class org.apache.pig.impl.io.SequenceFileInterStorage -->
  <class name="SequenceFileInterStorage" extends="org.apache.pig.FileInputLoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="SequenceFileInterStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Simple binary nested reader format]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partitionFilter" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="useLog" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Store tuples (BinSedesTuples, specifically) using sequence files to leverage
 sequence file's compression features. Replacement for previous use of {@code TFileStorage}, which
 had some edge cases that were not properly handled there.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.SequenceFileInterStorage -->
  <!-- start class org.apache.pig.impl.io.SequenceFileInterStorage.SequenceFileTupleOutputFormat -->
  <class name="SequenceFileInterStorage.SequenceFileTupleOutputFormat" extends="org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SequenceFileTupleOutputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSequenceWriter" return="org.apache.hadoop.io.SequenceFile.Writer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.SequenceFileInterStorage.SequenceFileTupleOutputFormat -->
  <!-- start class org.apache.pig.impl.io.TFileRecordReader -->
  <class name="TFileRecordReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TFileRecordReader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="genericSplit" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.Text"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCurrentValue" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get the progress within the split]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[A record reader used to read data written using {@link InterRecordWriter} It
 uses the default InterSedes object for deserialization.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.TFileRecordReader -->
  <!-- start class org.apache.pig.impl.io.TFileRecordWriter -->
  <class name="TFileRecordWriter" extends="org.apache.hadoop.mapreduce.RecordWriter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TFileRecordWriter" type="org.apache.hadoop.fs.Path, java.lang.String, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="wc" type="org.apache.hadoop.io.WritableComparable"/>
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[A record reader used to write data compatible with {@link InterRecordWriter}
 It uses the default InterSedes object for serialization.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.TFileRecordWriter -->
  <!-- start class org.apache.pig.impl.io.TFileStorage -->
  <class name="TFileStorage" extends="org.apache.pig.FileInputLoadFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.StoreFuncInterface"/>
    <implements name="org.apache.pig.LoadMetadata"/>
    <constructor name="TFileStorage"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Simple binary nested reader format]]>
      </doc>
    </constructor>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getInputFormat" return="org.apache.hadoop.mapreduce.InputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToRead"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="org.apache.hadoop.mapreduce.RecordReader"/>
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigSplit"/>
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getOutputFormat" return="org.apache.hadoop.mapreduce.OutputFormat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="writer" type="org.apache.hadoop.mapreduce.RecordWriter"/>
    </method>
    <method name="setStoreLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="checkSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.ResourceSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="relToAbsPathForStoreLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="curDir" type="org.apache.hadoop.fs.Path"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getPartitionKeys" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStatistics" return="org.apache.pig.ResourceStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setPartitionFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.Expression"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setStoreFuncUDFContextSignature"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="signature" type="java.lang.String"/>
    </method>
    <method name="cleanupOnFailure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanupOnSuccess"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="useLog" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[LOAD FUNCTION FOR PIG INTERNAL USE ONLY! This load function is used for
 storing intermediate data between MR jobs of a pig query. The serialization
 format of this load function can change in newer versions of pig, so this
 should NOT be used to store any persistent data.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.io.TFileStorage -->
  <!-- start class org.apache.pig.impl.io.TFileStorage.TFileInputFormat -->
  <class name="TFileStorage.TFileInputFormat" extends="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigFileInputFormat"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TFileInputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createRecordReader" return="org.apache.hadoop.mapreduce.RecordReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="context" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.TFileStorage.TFileInputFormat -->
  <!-- start class org.apache.pig.impl.io.TFileStorage.TFileOutputFormat -->
  <class name="TFileStorage.TFileOutputFormat" extends="org.apache.hadoop.mapreduce.lib.output.FileOutputFormat"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TFileOutputFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordWriter" return="org.apache.hadoop.mapreduce.RecordWriter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.TFileStorage.TFileOutputFormat -->
</package>
<package name="org.apache.pig.impl.io.compress">
  <!-- start class org.apache.pig.impl.io.compress.BZip2CodecWithExtensionBZ -->
  <class name="BZip2CodecWithExtensionBZ" extends="org.apache.hadoop.io.compress.BZip2Codec"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BZip2CodecWithExtensionBZ"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getDefaultExtension" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[For historical reasons, Pig supports .bz and .bz2 for bzip2 extension

 @return A String telling the additional bzip2 file extension 'bz']]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.io.compress.BZip2CodecWithExtensionBZ -->
</package>
<package name="org.apache.pig.impl.logicalLayer">
  <!-- start class org.apache.pig.impl.logicalLayer.CanonicalNamer -->
  <class name="CanonicalNamer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CanonicalNamer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A visitor to walk the logical plan and give canonical names fields.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.CanonicalNamer -->
  <!-- start class org.apache.pig.impl.logicalLayer.FrontendException -->
  <class name="FrontendException" extends="org.apache.pig.PigException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FrontendException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param location - The location of the exception.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte, java.lang.Throwable, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown. 
 @param location - The location of the exception.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="FrontendException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.FrontendException -->
  <doc>
  <![CDATA[<p>
The logical operators that represent a pig script and tools for manipulating
those operators.  The logical layer contains the logical operators themselves,
as well as validators that check the logical plan, an optimizer, and a general
visitor utility for working with the logical plans.

<h2> Design </h2>
<p>
Logical operators use the operator, plan, visitor, and optimizer framework
provided by the {@link org.apache.pig.impl.plan} package.
<p>
Logical operators consist of both relational and expression operators.
Relational operators work on an entire bag.  Expression operators work on an
element of a tuple (which may also be a bag).  Due to Pig's nested data and
execution model the distinction between relational and expression operators is
not always clear.  And some operators such as LOProject function as both.
<p>
In a traditional data base system, a query execution plan is constructed from
relational operators, such as project, filter, sort, aggregate, join.  Each of
these may contain an expression tree, made up of expression operators.  For
example, consider a SQL query <code>select a from T where a = 5;</code>.  The
where clause would be represented by a filter operator with an expression tree
for <code>a=5</code>.
<p>
Pig takes a similar approach, except that the operators contained inside of a
relational operator may also be relational.  For example, a foreach statement
that has a nested script, such as <code>foreach B { C = distinct $1; generate
group, COUNT(C);}</code>.  This foreach needs to contain not just an
expression tree but the distinct relational operator.  For this reason, Pig's
relational operators do not contain expression trees.  Instead they contain
one or more LogicalPlans themselves.  This allows Pig to arbitrarily nest
the logical plan.  In this sense Pig is more similar to a traditional
procedural language where certain statements (e.g. if, while) can contain any
other statement in the language rather than being like SQL where the statement
execution tends to be more linear.]]>
  </doc>
</package>
<package name="org.apache.pig.impl.logicalLayer.schema">
  <!-- start class org.apache.pig.impl.logicalLayer.schema.Schema -->
  <class name="Schema" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Schema" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param fields List of field schemas that describes the fields.]]>
      </doc>
    </constructor>
    <constructor name="Schema" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a schema with only one field.
 @param fieldSchema field to put in this schema.]]>
      </doc>
    </constructor>
    <constructor name="Schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Copy Constructor.
 @param s source schema]]>
      </doc>
    </constructor>
    <method name="getField" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given an alias name, find the associated FieldSchema.
 @param alias Alias to look up.
 @return FieldSchema, or null if no such alias is in this tuple.]]>
      </doc>
    </method>
    <method name="getFieldSubNameMatch" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given an alias name, find the associated FieldSchema. If exact name is 
 not found see if any field matches the part of the 'namespaced' alias.
 eg. if given alias is nm::a , and schema is (a,b). It will return 
 FieldSchema of a.
 if given alias is nm::a and schema is (nm2::a, b), it will return null
 @param alias Alias to look up.
 @return FieldSchema, or null if no such alias is in this tuple.]]>
      </doc>
    </method>
    <method name="getField" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given a field number, find the associated FieldSchema.

 @param fieldNum
            Field number to look up.
 @return FieldSchema for this field.
 @throws ParseException
             if the field number exceeds the number of fields in the
             tuple.]]>
      </doc>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Find the number of fields in the schema.

 @return number of fields.]]>
      </doc>
    </method>
    <method name="reconcile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Reconcile this schema with another schema.  The schema being reconciled
 with should have the same number of columns.  The use case is where a
 schema already exists but may not have alias and or type information.  If
 an alias exists in this schema and a new one is given, then the new one
 will be used.  Similarly with types, though this needs to be used
 carefully, as types should not be lightly changed.
 @param other Schema to reconcile with.
 @throws ParseException if this cannot be reconciled.]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[For two schemas to be equal, they have to be deeply equal.
 Use Schema.equals(Schema schema,
                         Schema other,
                         boolean relaxInner,
                         boolean relaxAlias)
       if relaxation of aliases is a requirement.]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of a schema.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prettyPrint" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="stringifySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sb" type="java.lang.StringBuilder"/>
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="type" type="byte"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="stringifySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sb" type="java.lang.StringBuilder"/>
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="type" type="byte"/>
      <param name="indentLevel" type="int"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="f" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
    </method>
    <method name="getPosition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given an alias, find the associated position of the field schema.

 @param alias
            alias of the FieldSchema.
 @return position of the FieldSchema.]]>
      </doc>
    </method>
    <method name="getPositionSubName" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given an alias, find the associated position of the field schema.
 It uses getFieldSubNameMatch to look for subName matches as well.
 @param alias
            alias of the FieldSchema.
 @return position of the FieldSchema.]]>
      </doc>
    </method>
    <method name="addAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="fs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
    </method>
    <method name="getAliases" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="printAliases"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="castable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[Recursively compare two schemas to check if the input schema 
 can be cast to the cast schema
 @param cast schema of the cast operator
 @param  input schema of the cast input
 @return true or falsew!]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="relaxInner" type="boolean"/>
      <param name="relaxAlias" type="boolean"/>
      <doc>
      <![CDATA[Recursively compare two schemas for equality
 @param schema
 @param other
 @param relaxInner if true, inner schemas will not be checked
 @param relaxAlias if true, aliases will not be checked
 @return true if schemas are equal, false otherwise]]>
      </doc>
    </method>
    <method name="merge" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <doc>
      <![CDATA[Merge this schema with the other schema
 @param other the other schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  schema take precedence
 @return the merged schema, null if they are not compatible]]>
      </doc>
    </method>
    <method name="mergeSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <doc>
      <![CDATA[Recursively merge two schemas
 @param schema the initial schema
 @param other the other schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  schema take precedence
 @return the merged schema, null if they are not compatible]]>
      </doc>
    </method>
    <method name="mergeSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <param name="allowDifferentSizeMerge" type="boolean"/>
      <param name="allowIncompatibleTypes" type="boolean"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively merge two schemas
 @param schema the initial schema
 @param other the other schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  schema take precedence
 @param allowDifferentSizeMerge allow merging of schemas of different types
 @param allowIncompatibleTypes 1) if types in schemas are not compatible
                               they will be treated as ByteArray (untyped)
                               2) if schemas in schemas are not compatible
                               and allowIncompatibleTypes is true
                               those inner schemas in the output
                               will be null.
 @return the merged schema this can be null if one schema is null and
         allowIncompatibleTypes is true

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="mergeSchemasByAlias" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schemas" type="java.util.Collection"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Merges collection of schemas using their column aliases 
 (unlike mergeSchema(..) functions which merge using positions)
 Schema will not be merged if types are incompatible, 
 as per DataType.mergeType(..)
 For Tuples and Bags, SubSchemas have to be equal be considered compatible
 @param schemas - list of schemas to be merged using their column alias
 @return merged schema
 @throws SchemaMergeException]]>
      </doc>
    </method>
    <method name="mergeSchemaByAlias" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema1" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="schema2" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Merges two schemas using their column aliases 
 (unlike mergeSchema(..) functions which merge using positions)
 Schema will not be merged if types are incompatible, 
 as per DataType.mergeType(..)
 For Tuples and Bags, SubSchemas have to be equal be considered compatible
 @param schema1
 @param schema2
 @return Merged Schema
 @throws SchemaMergeException if schemas cannot be merged]]>
      </doc>
    </method>
    <method name="generateNestedSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="topLevelType" type="byte"/>
      <param name="innerTypes" type="byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param topLevelType DataType type of the top level element
 @param innerTypes DataType types of the inner level element
 @return nested schema representing type of top level element at first level and inner schema
 representing types of inner element(s)]]>
      </doc>
    </method>
    <method name="mergePrefixSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively prefix merge two schemas
 @param other the other schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  schema take precedence
 @return the prefix merged schema this can be null if one schema is null and
         allowIncompatibleTypes is true

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="mergePrefixSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <param name="allowMergeableTypes" type="boolean"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively prefix merge two schemas
 @param other the other schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  schema take precedence
 @param allowMergeableTypes true if "mergeable" types should be allowed.
   Two types are mergeable if any of the following conditions is true IN THE 
   BELOW ORDER of checks:
   1) if either one has a type null or unknown and other has a type OTHER THAN
   null or unknown, the result type will be the latter non null/unknown type
   2) If either type is bytearray, then result type will be the other (possibly  non BYTEARRAY) type
   3) If current type can be cast to the other type, then the result type will be the
   other type 
 @return the prefix merged schema this can be null if one schema is null and
         allowIncompatibleTypes is true

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="setSchemaDefaultType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="t" type="byte"/>
      <doc>
      <![CDATA[Recursively set NULL type to the specifid type in a schema
 @param s the schema whose NULL type has to be set 
 @param t the specified type]]>
      </doc>
    </method>
    <method name="isTwoLevelAccessRequired" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="twoLevelAccess is no longer needed">
      <doc>
      <![CDATA[@return the twoLevelAccess
 @deprecated twoLevelAccess is no longer needed]]>
      </doc>
    </method>
    <method name="setTwoLevelAccessRequired"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="twoLevelAccess is no longer needed">
      <param name="twoLevelAccess" type="boolean"/>
      <doc>
      <![CDATA[@param twoLevelAccess the twoLevelAccess to set
 @deprecated twoLevelAccess is no longer needed]]>
      </doc>
    </method>
    <method name="getPigSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rSchema" type="org.apache.pig.ResourceSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="findFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="canonicalName" type="java.lang.String"/>
      <doc>
      <![CDATA[Look for a FieldSchema instance in the schema hierarchy which has the given canonical name.
 @param canonicalName canonical name
 @return the FieldSchema instance found]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The Schema class encapsulates the notion of a schema for a relational operator.
 A schema is a list of columns that describe the output of a relational operator.
 Each column in the relation is represented as a FieldSchema, a static class inside
 the Schema. A column by definition has an alias, a type and a possible schema (if the
 column is a bag or a tuple). In addition, each column in the schema has a unique
 auto generated name used for tracking the lineage of the column in a sequence of
 statements.

 The lineage of the column is tracked using a map of the predecessors' columns to
 the operators that generate the predecessor columns. The predecessor columns are the
 columns required in order to generate the column under consideration.  Similarly, a
 reverse lookup of operators that generate the predecessor column to the predecessor
 column is maintained.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.schema.Schema -->
  <!-- start class org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema -->
  <class name="Schema.FieldSchema" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="FieldSchema" type="java.lang.String, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor for any type.
 
 @param a
            Alias, if known. If unknown leave null.
 @param t
            Type, using codes from
            {@link org.apache.pig.data.DataType}.]]>
      </doc>
    </constructor>
    <constructor name="FieldSchema" type="java.lang.String, org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor for tuple fields.
 
 @param a
            Alias, if known. If unknown leave null.
 @param s
            Schema of this tuple.]]>
      </doc>
    </constructor>
    <constructor name="FieldSchema" type="java.lang.String, org.apache.pig.impl.logicalLayer.schema.Schema, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Constructor for tuple fields.
 
 @param a
            Alias, if known. If unknown leave null.
 @param s
            Schema of this tuple.
 @param t
            Type, using codes from
            {@link org.apache.pig.data.DataType}.]]>
      </doc>
    </constructor>
    <constructor name="FieldSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Copy Constructor.
 
 @param fs
           Source FieldSchema]]>
      </doc>
    </constructor>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[Two field schemas are equal if types and schemas
  are equal in all levels.

  In order to relax alias equivalent requirement,
  instead use equals(FieldSchema fschema,
                               FieldSchema fother,
                               boolean relaxInner,
                               boolean relaxAlias)]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="castable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="castFs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="inputFs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <doc>
      <![CDATA[Recursively compare two schemas to check if the input schema 
 can be cast to the cast schema
 @param castFs schema of the cast operator
 @param  inputFs schema of the cast input
 @return true or falsew!]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fschema" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="fother" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="relaxInner" type="boolean"/>
      <param name="relaxAlias" type="boolean"/>
      <doc>
      <![CDATA[Compare two field schema for equality
 @param fschema
 @param fother
 @param relaxInner If true, we don't check inner tuple schemas
 @param relaxAlias If true, we don't check aliases
 @return true if FieldSchemas are equal, false otherwise]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[Make a deep copy of this FieldSchema and return it.
 @return clone of the this FieldSchema.
 @throws CloneNotSupportedException]]>
      </doc>
    </method>
    <method name="mergePrefixFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="otherFs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively prefix merge two schemas
 @param otherFs the other field schema to be merged with
 @return the prefix merged field schema this can be null if one schema is null and
         allowIncompatibleTypes is true

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="mergePrefixFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="otherFs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively prefix merge two schemas
 @param otherFs the other field schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  field schema take precedence
 @return the prefix merged field schema this can be null if one schema is null and
         allowIncompatibleTypes is true

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="mergePrefixFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="otherFs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="otherTakesAliasPrecedence" type="boolean"/>
      <param name="allowMergeableTypes" type="boolean"/>
      <exception name="SchemaMergeException" type="org.apache.pig.impl.logicalLayer.schema.SchemaMergeException"/>
      <doc>
      <![CDATA[Recursively prefix merge two schemas
 @param otherFs the other field schema to be merged with
 @param otherTakesAliasPrecedence true if aliases from the other
                                  field schema take precedence
 @param allowMergeableTypes true if "mergeable" types should be allowed.
   Two types are mergeable if any of the following conditions is true IN THE
   BELOW ORDER of checks:
   1) if either one has a type null or unknown and other has a type OTHER THAN
   null or unknown, the result type will be the latter non null/unknown type
   2) If either type is bytearray, then result type will be the other (possibly non BYTEARRAY) type
   3) If current type can be cast to the other type, then the result type will be the
   other type 
 @return the prefix merged field schema this can be null. 

 @throws SchemaMergeException if they cannot be merged]]>
      </doc>
    </method>
    <method name="setFieldSchemaDefaultType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
      <param name="t" type="byte"/>
      <doc>
      <![CDATA[Recursively set NULL type to the specifid type 
 @param fs the field schema whose NULL type has to be set 
 @param t the specified type]]>
      </doc>
    </method>
    <method name="findFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="canonicalName" type="java.lang.String"/>
      <doc>
      <![CDATA[Find a field schema instance in this FieldSchema hierarchy (including "this")
 that matches the given canonical name.
 
 @param canonicalName canonical name
 @return the FieldSchema instance found]]>
      </doc>
    </method>
    <field name="alias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Alias for this field.]]>
      </doc>
    </field>
    <field name="type" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Datatype, using codes from {@link org.apache.pig.data.DataType}.]]>
      </doc>
    </field>
    <field name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[If this is a tuple itself, it can have a schema. Otherwise this field
 must be null.]]>
      </doc>
    </field>
    <field name="canonicalName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Canonical name.  This name uniquely identifies a field throughout
 the query.  Unlike a an alias, it cannot be changed.  It will
 change when the field is transformed in some way (such as being
 used in an arithmetic expression or passed to a udf).  At that
 point a new canonical name will be generated for the field.]]>
      </doc>
    </field>
    <field name="canonicalNamer" type="org.apache.pig.impl.logicalLayer.CanonicalNamer"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Canonical namer object to generate new canonical names on
 request. In order to ensure unique and consistent names, across
 all field schema objects, the object is made static.]]>
      </doc>
    </field>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema -->
  <!-- start class org.apache.pig.impl.logicalLayer.schema.SchemaMergeException -->
  <class name="SchemaMergeException" extends="org.apache.pig.impl.logicalLayer.FrontendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaMergeException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="SchemaMergeException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new FrontendException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.schema.SchemaMergeException -->
  <!-- start class org.apache.pig.impl.logicalLayer.schema.SchemaUtil -->
  <class name="SchemaUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tupleName" type="java.lang.String"/>
      <param name="fieldNames" type="java.util.List"/>
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according the tuple name and two list: names of
 fields, types of fields

 @param tupleName
 @param fieldNames
 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tupleName" type="java.lang.String"/>
      <param name="fieldNames" type="java.lang.String[]"/>
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according the tuple name and two arrays: names
 of fields, types of fields

 @param tupleName
 @param fieldNames
 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNames" type="java.util.List"/>
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according the two list: names of fields, types
 of fields, the default tuple name is t.

 @param fieldNames
 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according one list: types of fields, the
 default names of fields are f0,f1,f2..., and the tuple name is t.

 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="names" type="java.lang.String[]"/>
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according the two arrays: names of fields,
 types of fields, the default tuple name is t.

 @param names
 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newTupleSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according one array: types of fields, the
 default names of fields are f0,f1,f2..., and the tuple name is t.

 @param dataTypes
 @return tuple schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bagName" type="java.lang.String"/>
      <param name="tupleName" type="java.lang.String"/>
      <param name="fieldNames" type="java.util.List"/>
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a bag schema according the bag name,tuple name and two list: name
 of fields, type of fields

 @param bagName
 @param tupleName
 @param fieldNames
 @param dataTypes
 @return bag schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bagName" type="java.lang.String"/>
      <param name="tupleName" type="java.lang.String"/>
      <param name="fieldNames" type="java.lang.String[]"/>
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="names" type="java.util.List"/>
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a bag schema according two list: name of fields, type of fields,
 and the default bag name is b, the default tuple name is t.

 @param names
 @param dataTypes
 @return bag schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataTypes" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according one list: types of fields, the
 default names of fields are f0,f1,f2..., and the tuple is t, the bag name
 is b.

 @param dataTypes
 @return bag schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="names" type="java.lang.String[]"/>
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according two arrays: names of field,types of
 fields. The default tuple name is t, and the bag is b.

 @param names
 @param dataTypes
 @return bag schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="newBagSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dataTypes" type="java.lang.Byte[]"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create a new tuple schema according one array: the type of fields, the
 tuple name is t, and the bag name is b.

 @param dataTypes
 @return bag schema
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A utility class for simplify the schema creation, especially for bag and
 tuple schema. Currently, it only support simple schema creation, nested tuple
 and bag is not supported]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.schema.SchemaUtil -->
</package>
<package name="org.apache.pig.impl.logicalLayer.validators">
  <!-- start class org.apache.pig.impl.logicalLayer.validators.TypeCheckerException -->
  <class name="TypeCheckerException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypeCheckerException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param op - The logical operator where the error occurred
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param op - The logical operator where the error occurred
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="TypeCheckerException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new TypeCheckerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.logicalLayer.validators.TypeCheckerException -->
</package>
<package name="org.apache.pig.impl.plan">
  <!-- start class org.apache.pig.impl.plan.CompilationMessageCollector -->
  <class name="CompilationMessageCollector" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Iterable"/>
    <constructor name="CompilationMessageCollector"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="message" type="java.lang.String"/>
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
    </method>
    <method name="collect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="message" type="java.lang.String"/>
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
      <param name="kind" type="java.lang.Enum"/>
    </method>
    <method name="hasMessageType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
    </method>
    <method name="hasError" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasMessage" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="get" return="org.apache.pig.impl.plan.CompilationMessageCollector.Message"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <method name="getKindAggregate" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
    </method>
    <method name="logAggregate"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="aggMap" type="java.util.Map"/>
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <method name="logMessages"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="messageCollector" type="org.apache.pig.impl.plan.CompilationMessageCollector"/>
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
      <param name="aggregate" type="boolean"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <method name="logMessages"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="messageType" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"/>
      <param name="aggregate" type="boolean"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <method name="logAllMessages"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="messageCollector" type="org.apache.pig.impl.plan.CompilationMessageCollector"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <method name="logAllMessages"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <doc>
    <![CDATA[This class is used for collecting all messages (error + warning) in
 compilation process. These messages are reported back to users
 at the end of compilation.

 iterator() has to be called after CompilationMessageCollector is fully
 populated otherwise the state is undefined.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.CompilationMessageCollector -->
  <!-- start class org.apache.pig.impl.plan.CompilationMessageCollector.Message -->
  <class name="CompilationMessageCollector.Message" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Message" type="java.lang.String, org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Message" type="java.lang.String, org.apache.pig.impl.plan.CompilationMessageCollector.MessageType, java.lang.Enum"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMessageType" return="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getKind" return="java.lang.Enum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.plan.CompilationMessageCollector.Message -->
  <!-- start class org.apache.pig.impl.plan.CompilationMessageCollector.MessageType -->
  <class name="CompilationMessageCollector.MessageType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="Unknown" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="Error" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="Warning" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="Info" type="org.apache.pig.impl.plan.CompilationMessageCollector.MessageType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.plan.CompilationMessageCollector.MessageType -->
  <!-- start class org.apache.pig.impl.plan.CompilationMessageCollector.Unknown -->
  <class name="CompilationMessageCollector.Unknown" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.plan.CompilationMessageCollector.Unknown[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.plan.CompilationMessageCollector.Unknown"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="UNKNOWN_MESSAGE_KIND" type="org.apache.pig.impl.plan.CompilationMessageCollector.Unknown"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.plan.CompilationMessageCollector.Unknown -->
  <!-- start class org.apache.pig.impl.plan.DependencyOrderWalker -->
  <class name="DependencyOrderWalker" extends="org.apache.pig.impl.plan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DependencyOrderWalker" type="org.apache.pig.impl.plan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <constructor name="DependencyOrderWalker" type="org.apache.pig.impl.plan.OperatorPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.
 @param boolean walkLeavesInOrder Sort the leaves before walking]]>
      </doc>
    </constructor>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.impl.plan.PlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.impl.plan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
    </method>
    <method name="doAllPredecessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.impl.plan.Operator"/>
      <param name="seen" type="java.util.Set"/>
      <param name="fifo" type="java.util.Collection"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[DependencyOrderWalker traverses the graph in such a way that no node is visited
 before all the nodes it depends on have been visited.  Beyond this, it does not
 guarantee any particular order.  So, you have a graph with node 1 2 3 4, and
 edges 1->3, 2->3, and 3->4, this walker guarnatees that 1 and 2 will be visited
 before 3 and 3 before 4, but it does not guarantee whether 1 or 2 will be
 visited first.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.DependencyOrderWalker -->
  <!-- start class org.apache.pig.impl.plan.DepthFirstWalker -->
  <class name="DepthFirstWalker" extends="org.apache.pig.impl.plan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DepthFirstWalker" type="org.apache.pig.impl.plan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.impl.plan.PlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.impl.plan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
    </method>
    <doc>
    <![CDATA[DepthFirstWalker traverses a plan in a depth first manner.  One important note
 is that, in compliance with the PlanWalker contract, it only visits each node in
 the graph once.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.DepthFirstWalker -->
  <!-- start class org.apache.pig.impl.plan.DotPlanDumper -->
  <class name="DotPlanDumper" extends="org.apache.pig.impl.plan.PlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotPlanDumper" type="org.apache.pig.impl.plan.OperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DotPlanDumper" type="org.apache.pig.impl.plan.OperatorPlan, java.io.PrintStream, boolean, java.util.Set, java.util.Set, java.util.Set"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="dumpMultiInputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="dumpMultiOutputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
    </method>
    <method name="dumpNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
    </method>
    <method name="dumpOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
    </method>
    <method name="dumpEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="suc" type="org.apache.pig.impl.plan.Operator"/>
    </method>
    <method name="makeDumper" return="org.apache.pig.impl.plan.PlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Used to generate the label for an operator.
 @param op operator to dump]]>
      </doc>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Used to generate the the attributes of a node
 @param op operator]]>
      </doc>
    </method>
    <method name="dumpInvisibleOperators"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
    </method>
    <field name="mSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mMultiInputSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mMultiOutputSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class puts everything that is needed to dump a plan in a
 format readable by graphviz's dot algorithm. Out of the box it does
 not print any nested plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.DotPlanDumper -->
  <!-- start class org.apache.pig.impl.plan.MapKeysInfo -->
  <class name="MapKeysInfo" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapKeysInfo"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MapKeysInfo" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MapKeysInfo" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MapKeysInfo" type="boolean, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getKeys" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="needAllKeys" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.plan.MapKeysInfo -->
  <!-- start class org.apache.pig.impl.plan.NodeIdGenerator -->
  <class name="NodeIdGenerator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getGenerator" return="org.apache.pig.impl.plan.NodeIdGenerator"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the NodeIdGenerator singleton.
 @return]]>
      </doc>
    </method>
    <method name="getNextNodeId" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns the next ID to be used for the current Thread.
 
 @param scope
 @return]]>
      </doc>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <doc>
      <![CDATA[Reset the given scope IDs to 0 for the current Thread.
 @param scope]]>
      </doc>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reset all scope IDs to 0 for the current Thread.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Generates IDs as long values in a thread safe manner. Each thread has its own generated IDs.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.NodeIdGenerator -->
  <!-- start class org.apache.pig.impl.plan.Operator -->
  <class name="Operator" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Comparable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="Operator" type="org.apache.pig.impl.plan.OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param k Operator key to assign to this node.]]>
      </doc>
    </constructor>
    <method name="getOperatorKey" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the operator key for this operator.]]>
      </doc>
    </method>
    <method name="visit"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.impl.plan.PlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Visit this node with the provided visitor. This should only be called by
 the visitor class itself, never directly.
 
 @param v
            Visitor to visit with.
 @throws VisitorException
             if the visitor has a problem.]]>
      </doc>
    </method>
    <method name="supportsMultipleInputs" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Indicates whether this operator supports multiple inputs.
 
 @return true if it does, otherwise false.]]>
      </doc>
    </method>
    <method name="supportsMultipleOutputs" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Indicates whether this operator supports multiple outputs.
 
 @return true if it does, otherwise false.]]>
      </doc>
    </method>
    <method name="name" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
      <doc>
      <![CDATA[Compares to Operators based on their opKey]]>
      </doc>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Needed to ensure that the list iterators'
 outputs are deterministic. Without this
 we are totally at object id's mercy.]]>
      </doc>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.impl.plan.Operator"/>
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="CloneNotSupportedException" type="java.lang.CloneNotSupportedException"/>
      <doc>
      <![CDATA[@see java.lang.Object#clone()
 Do not use the clone method directly. Operators are cloned when logical plans
 are cloned using {@link LogicalPlanCloner}]]>
      </doc>
    </method>
    <method name="getProjectionMap" return="org.apache.pig.impl.plan.ProjectionMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Produce a map describing how this operator modifies its projection.
 @return ProjectionMap null indicates it does not know how the projection
 changes, for example a join of two inputs where one input does not have
 a schema.]]>
      </doc>
    </method>
    <method name="unsetProjectionMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Unset the projection map as if it had not been calculated.  This is used by
 anyone who reorganizes the tree and needs to have projection maps recalculated.]]>
      </doc>
    </method>
    <method name="regenerateProjectionMap" return="org.apache.pig.impl.plan.ProjectionMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Regenerate the projection map by unsetting and getting the projection map]]>
      </doc>
    </method>
    <method name="rewire"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldPred" type="org.apache.pig.impl.plan.Operator"/>
      <param name="oldPredIndex" type="int"/>
      <param name="newPred" type="org.apache.pig.impl.plan.Operator"/>
      <param name="useOldPred" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Make any necessary changes to a node based on a change of position in the
 plan. This allows operators to rewire their projections, etc. when they
 are relocated in a plan.
 
 @param oldPred
            Operator that was previously the predecessor.
 @param oldPredIndex
            position of the old predecessor in the list of predecessors
 @param newPred
            Operator that will now be the predecessor.
 @param useOldPred
            If true use oldPred's projection map for the rewire; otherwise
            use newPred's projection map
 @throws PlanException]]>
      </doc>
    </method>
    <field name="mKey" type="org.apache.pig.impl.plan.OperatorKey"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[OperatorKey associated with this operator. This key is used to find the
 operator in an OperatorPlan.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Base class for all types of operators.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.Operator -->
  <!-- start class org.apache.pig.impl.plan.OperatorKey -->
  <class name="OperatorKey" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Comparable"/>
    <constructor name="OperatorKey"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="OperatorKey" type="java.lang.String, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScope" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getId" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.impl.plan.OperatorKey"/>
    </method>
    <method name="genOpKey" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <doc>
      <![CDATA[Utility function for creating operator keys.
 @param scope Scope to use in creating the key.
 @return new operator key.]]>
      </doc>
    </method>
    <method name="fromString" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="java.lang.String"/>
    </method>
    <field name="scope" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="id" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.plan.OperatorKey -->
  <!-- start class org.apache.pig.impl.plan.OperatorPlan -->
  <class name="OperatorPlan" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Iterable"/>
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRoots" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a list of all nodes in the graph that are roots.  A root is defined to
 be a node that has no input.]]>
      </doc>
    </method>
    <method name="getLeaves" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a list of all nodes in the graph that are leaves.  A leaf is defined to
 be a node that has no output.]]>
      </doc>
    </method>
    <method name="getOperatorKey" return="org.apache.pig.impl.plan.OperatorKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Given an operator, find its OperatorKey.
 @param op Logical operator.
 @return associated OperatorKey]]>
      </doc>
    </method>
    <method name="getOperator" return="org.apache.pig.impl.plan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="opKey" type="org.apache.pig.impl.plan.OperatorKey"/>
      <doc>
      <![CDATA[Given an OperatorKey, find the associated operator.
 @param opKey OperatorKey
 @return associated operator.]]>
      </doc>
    </method>
    <method name="getKeys" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the map of operator key and associated operators
 @return map of operator key and operators.]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Insert an operator into the plan.  This only inserts it as a node in
 the graph, it does not connect it to any other operators.  That should
 be done as a separate step using connect.
 @param op Operator to add to the plan.]]>
      </doc>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.impl.plan.Operator"/>
      <param name="to" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Create an edge between two nodes.  The direction of the edge implies data
 flow.
 @param from Operator data will flow from.
 @param to Operator data will flow to.
 @throws PlanException if this edge will create multiple inputs for an
 operator that does not support multiple inputs or create multiple outputs
 for an operator that does not support multiple outputs.]]>
      </doc>
    </method>
    <method name="createSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.impl.plan.Operator"/>
      <param name="to" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Create an soft edge between two nodes.
 @param from Operator dependent upon.
 @param to Operator having the dependency.
 @throws PlanException if the nodes is not in plan]]>
      </doc>
    </method>
    <method name="removeSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.impl.plan.Operator"/>
      <param name="to" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Remove an soft edge
 @param from Operator dependent upon
 @param to Operator having the dependency]]>
      </doc>
    </method>
    <method name="disconnect" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.impl.plan.Operator"/>
      <param name="to" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Remove an edge from between two nodes. 
 Use {@link org.apache.pig.impl.plan.OperatorPlan#insertBetween(Operator, Operator, Operator)} 
 if disconnect is used in the process of inserting a new node between two nodes 
 by calling disconnect followed by a connect.
 @param from Operator data would flow from.
 @param to Operator data would flow to.
 @return true if the nodes were connected according to the specified data
 flow, false otherwise.]]>
      </doc>
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Remove an operator from the plan.  Any edges that the node has will
 be removed as well.
 @param op Operator to remove.]]>
      </doc>
    </method>
    <method name="trimBelow"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Trim everything below a given operator.  The specified operator will
 NOT be removed.
 @param op Operator to trim everything after.]]>
      </doc>
    </method>
    <method name="trimAbove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Trim everything above a given operator.  The specified operator will
 NOT be removed.
 @param op Operator to trim everything before.]]>
      </doc>
    </method>
    <method name="getPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Find all of the nodes that have edges to the indicated node from
 themselves.
 @param op Node to look to
 @return Collection of nodes.]]>
      </doc>
    </method>
    <method name="getSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Find all of the nodes that have edges from the indicated node to
 themselves.
 @param op Node to look from
 @return Collection of nodes.]]>
      </doc>
    </method>
    <method name="getSoftLinkPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Find all of the nodes that have soft edges to the indicated node from
 themselves.
 @param op Node to look to
 @return Collection of nodes.]]>
      </doc>
    </method>
    <method name="getSoftLinkSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Find all of the nodes that have soft edges from the indicated node to
 themselves.
 @param op Node to look from
 @return Collection of nodes.]]>
      </doc>
    </method>
    <method name="pathExists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.impl.plan.Operator"/>
      <param name="to" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[A method to check if there is a path from a given node to another node
 @param from the start node for checking
 @param to the end node for checking
 @return true if path exists, false otherwise]]>
      </doc>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="merge" return="org.apache.pig.impl.plan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inpPlan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Merges the operators in the incoming operPlan with
 this plan's operators. By merging I mean just making
 a combined graph with each one as a component
 It doesn't support merging of shared plans
 @param inpPlan
 @return this pointer
 @throws PlanException]]>
      </doc>
    </method>
    <method name="mergeSharedPlan" return="org.apache.pig.impl.plan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inpPlan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Merges the operators in the incoming plan with this plan's operators.
 The plans can have shared components. 

 @param inpPlan
 @return this pointer
 @throws PlanException]]>
      </doc>
    </method>
    <method name="addAsLeaf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="leaf" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Utility method heavily used in the MRCompiler
 Adds the leaf operator to the plan and connects
 all existing leaves to the new leaf
 @param leaf
 @throws PlanException]]>
      </doc>
    </method>
    <method name="addAsRoot"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="root" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Adds the root operator to the plan and connects
 all existing roots the new root

 @param root
 @throws PlanException]]>
      </doc>
    </method>
    <method name="isSingleLeafPlan" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="insertBetween"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="after" type="org.apache.pig.impl.plan.Operator"/>
      <param name="newNode" type="org.apache.pig.impl.plan.Operator"/>
      <param name="before" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Given two connected nodes add another node between them.
 'newNode' will be placed in same position in predecessor list as 'before' (old node).
 @param after Node to insert this node after
 @param newNode new node to insert.  This node must have already been
 added to the plan.
 @param before Node to insert this node before
 @throws PlanException if it encounters trouble disconnecting or
 connecting nodes.]]>
      </doc>
    </method>
    <method name="doInsertBetween"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="after" type="org.apache.pig.impl.plan.Operator"/>
      <param name="newNode" type="org.apache.pig.impl.plan.Operator"/>
      <param name="before" type="org.apache.pig.impl.plan.Operator"/>
      <param name="rewire" type="boolean"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
    <method name="replace"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldNode" type="org.apache.pig.impl.plan.Operator"/>
      <param name="newNode" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Replace an existing node in the graph with a new node.  The new node
 will be connected to all the nodes the old node was.  The old node will
 be removed. The new node is assumed to have no incoming or outgoing edges
 @param oldNode Node to be replaced
 @param newNode Node to add in place of oldNode
 @throws PlanException]]>
      </doc>
    </method>
    <method name="removeAndReconnect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Remove a node in a way that connects the node's predecessor (if any)
 with the node's successor (if any).  This function does not handle the
 case where the node has multiple predecessors or successors.
 @param node Node to be removed
 @throws PlanException if the node has more than one predecessor or
 successor.]]>
      </doc>
    </method>
    <method name="removeAndReconnectMultiSucc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Remove a node in a way that connects the node's predecessor (if any)
 with the node's successors (if any).  This function handles the
 case where the node has *one* predecessor and one or more successors.
 It replaces the predecessor in same position as node was in
 each of the successors predecessor list(getPredecessors()), to 
 preserve input ordering 
 for eg, it is used to remove redundant project(*) from plan
 which will have only one predecessor,but can have multiple success
 @param node Node to be removed
 @throws PlanException if the node has more than one predecessor]]>
      </doc>
    </method>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="swap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="first" type="org.apache.pig.impl.plan.Operator"/>
      <param name="second" type="org.apache.pig.impl.plan.Operator"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Swap two operators in a plan.  Both of the operators must have single
 inputs and single outputs.
 @param first operator
 @param second operator
 @throws PlanException if either operator is not single input and output.]]>
      </doc>
    </method>
    <method name="pushBefore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="first" type="org.apache.pig.impl.plan.Operator"/>
      <param name="second" type="org.apache.pig.impl.plan.Operator"/>
      <param name="inputNum" type="int"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Push one operator in front of another.  This function is for use when
 the first operator has multiple inputs.  The caller can specify
 which input of the first operator the second operator should be pushed to.
 @param first operator, assumed to have multiple inputs.
 @param second operator, will be pushed in front of first
 @param inputNum indicates which input of the first operator the second
 operator will be pushed onto.  Numbered from 0.
 @throws PlanException if inputNum does not exist for first operator]]>
      </doc>
    </method>
    <method name="pushAfter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="first" type="org.apache.pig.impl.plan.Operator"/>
      <param name="second" type="org.apache.pig.impl.plan.Operator"/>
      <param name="outputNum" type="int"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
      <doc>
      <![CDATA[Push one operator after another.  This function is for use when the second
 operator has multiple outputs.  The caller can specify which output of the
 second operator the first operator should be pushed to.
 @param first operator, assumed to have multiple outputs
 @param second operator, will be pushed after the first operator
 @param outputNum indicates which output of the first operator the second 
 operator will be pushed onto.  Numbered from 0.
 @throws PlanException if outputNum does not exist for first operator]]>
      </doc>
    </method>
    <field name="mOps" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mKeys" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mFromEdges" type="org.apache.pig.impl.util.MultiMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mToEdges" type="org.apache.pig.impl.util.MultiMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mSoftFromEdges" type="org.apache.pig.impl.util.MultiMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mSoftToEdges" type="org.apache.pig.impl.util.MultiMap"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A generic graphing class for use by LogicalPlan, PhysicalPlan, etc.  One
 important aspect of this package is that it guarantees that once a graph is
 constructed, manipulations on that graph will maintain the ordering of
 inputs and outputs for a given node.  That is, if a node has two inputs, 0
 and 1, it is guaranteed that everytime it asks for its inputs, it will
 receive them in the same order.  This allows operators that need to
 distinguish their inputs (such as binary operators that need to know left
 from right) to work without needing to store their inputs themselves.  This
 is an extra burden on the graph package and not in line with the way graphs
 are generally understood mathematically.  But it greatly reducing the need
 for graph manipulators (such as the validators and optimizers) to
 understand the internals of various nodes.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.OperatorPlan -->
  <!-- start class org.apache.pig.impl.plan.OperatorPlan.IndexHelper -->
  <class name="OperatorPlan.IndexHelper" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IndexHelper" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getIndex" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.plan.OperatorPlan.IndexHelper -->
  <!-- start class org.apache.pig.impl.plan.PlanDumper -->
  <class name="PlanDumper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanDumper" type="org.apache.pig.impl.plan.OperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="isVerbose" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is the public interface. Dump writes the plan and nested
 plans to the stream.]]>
      </doc>
    </method>
    <method name="makeDumper" return="org.apache.pig.impl.plan.PlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
      <doc>
      <![CDATA[makeDumper is a factory method. Used by subclasses to specify
 what dumper should handle the nested plan.
 @param plan Plan that the new dumper should handle
 @return the dumper for plan]]>
      </doc>
    </method>
    <method name="dumpOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Will be called to dump a simple operator
 @param op the operator to be dumped]]>
      </doc>
    </method>
    <method name="dumpMultiInputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
      <doc>
      <![CDATA[Will be called when an operator has nested plans, which are
 connected to one of the multiple inputs.
 @param op the nested operator
 @param plans a map of input operator to connected nested plan]]>
      </doc>
    </method>
    <method name="dumpMultiOutputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
      <doc>
      <![CDATA[Will be called for nested operators, where the plans represent
 how the output of the operator is processed. 
 @param op the nested operator
 @param plans a collection of sub plans.]]>
      </doc>
    </method>
    <method name="dumpNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
      <doc>
      <![CDATA[Will be called for nested operators. The operators are not
 specifically connected to any input or output operators of E
 @param op the nested operator
 @param plans a collection of sub plans.]]>
      </doc>
    </method>
    <method name="dumpEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <param name="suc" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Will be called to dump the edges of the plan. Each edge results
 in one call.
 @param op tail of the edge
 @param suc head of the edge]]>
      </doc>
    </method>
    <method name="getMultiInputNestedPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested plans, which are
 connected to specific input operators.
 @param op operator
 @return Map describing the input to nested plan relationship.]]>
      </doc>
    </method>
    <method name="getMultiOutputNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested output plans

 @param op operator
 @return Map describing the input to nested plan relationship.]]>
      </doc>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.impl.plan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested plans (without
 connections to in- or output operators.
 @param op operator
 @return Collection of nested plans.]]>
      </doc>
    </method>
    <method name="join"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="sep" type="java.lang.String"/>
      <param name="strings" type="java.lang.String[]"/>
      <doc>
      <![CDATA[Helper function to print a string array.
 @param sep Separator
 @param strings Array to print]]>
      </doc>
    </method>
    <field name="ps" type="java.io.PrintStream"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plan" type="org.apache.pig.impl.plan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isVerbose" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class dumps a nested plan to a print stream. It does not walk
 the graph in any particular fashion it merely iterates over all
 operators and edges and calls a corresponding dump function. If a
 node of the plan has nested plans this will be dumped when the
 node is handled.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.PlanDumper -->
  <!-- start class org.apache.pig.impl.plan.PlanException -->
  <class name="PlanException" extends="org.apache.pig.impl.logicalLayer.FrontendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="PlanException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.plan.PlanException -->
  <!-- start class org.apache.pig.impl.plan.PlanValidationException -->
  <class name="PlanValidationException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanValidationException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="org.apache.pig.newplan.Operator, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="org.apache.pig.newplan.Operator, java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="PlanValidationException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new PlanValidationException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.plan.PlanValidationException -->
  <!-- start class org.apache.pig.impl.plan.PlanVisitor -->
  <class name="PlanVisitor" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanVisitor" type="org.apache.pig.impl.plan.OperatorPlan, org.apache.pig.impl.plan.PlanWalker"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan OperatorPlan this visitor will visit.
 @param walker PlanWalker this visitor will use to traverse the plan.]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Entry point for visiting the plan.
 @throws VisitorException if an error is encountered while visiting.]]>
      </doc>
    </method>
    <method name="getPlan" return="org.apache.pig.impl.plan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="walker" type="org.apache.pig.impl.plan.PlanWalker"/>
      <doc>
      <![CDATA[Push the current walker onto the stack of saved walkers and begin using
 the newly passed walker as the current walker.
 @param walker new walker to set as the current walker.]]>
      </doc>
    </method>
    <method name="popWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Pop the next to previous walker off of the stack and set it as the current
 walker.  This will drop the reference to the current walker.
 @throws VisitorException if there are no more walkers on the stack.  In
 this case the current walker is not reset.]]>
      </doc>
    </method>
    <field name="mPlan" type="org.apache.pig.impl.plan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mCurrentWalker" type="org.apache.pig.impl.plan.PlanWalker"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Guaranteed to always point to the walker currently being used.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[A visitor mechanism for navigating and operating on a plan of 
 Operators.  This class contains the logic to traverse the plan.  It does not
 visit individual nodes.  That is left to implementing classes (such as
 LOVisitor).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.PlanVisitor -->
  <!-- start class org.apache.pig.impl.plan.PlanWalker -->
  <class name="PlanWalker" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanWalker" type="org.apache.pig.impl.plan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="walk"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.impl.plan.PlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.  This can't be set in
 the constructor because the visitor is constructing this class, and does
 not yet have a 'this' pointer to send as an argument.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.impl.plan.PlanWalker"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <doc>
      <![CDATA[Return a new instance of this same type of walker for a subplan.
 When this method is called the same type of walker with the
 provided plan set as the plan, must be returned.  This can then be
 used to walk subplans.  This allows abstract visitors to clone
 walkers without knowning the type of walker their subclasses used.
 @param plan Plan for the new walker.
 @return Instance of the same type of walker with mPlan set to plan.]]>
      </doc>
    </method>
    <method name="getPlan" return="org.apache.pig.impl.plan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
    </method>
    <field name="mPlan" type="org.apache.pig.impl.plan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[PlanWalker encapsulates the logic to traverse a plan.  It is used only by
 visitors.

 All walkers must be constructed in a way that they only visit a given node
 once in a traversal.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.PlanWalker -->
  <!-- start class org.apache.pig.impl.plan.ProjectionMap -->
  <class name="ProjectionMap" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectionMap" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param changes
            to indicate if this projection map changes its input or not]]>
      </doc>
    </constructor>
    <constructor name="ProjectionMap" type="org.apache.pig.impl.util.MultiMap, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param mapFields
            the mapping of input column to output column
 @param removedFields
            the list of input columns that are removed
 @param addedFields
            the list of columns that are added to the output]]>
      </doc>
    </constructor>
    <method name="getMappedFields" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the mapping of input column to output column]]>
      </doc>
    </method>
    <method name="setMappedFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="org.apache.pig.impl.util.MultiMap"/>
      <doc>
      <![CDATA[@param fields
            the mapping of input column to output column]]>
      </doc>
    </method>
    <method name="getRemovedFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the list of input columns that are removed]]>
      </doc>
    </method>
    <method name="setRemovedFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="java.util.List"/>
      <doc>
      <![CDATA[@param fields
            the list of input columns that are removed]]>
      </doc>
    </method>
    <method name="getAddedFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the list of columns that are added to the output]]>
      </doc>
    </method>
    <method name="setAddedFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="java.util.List"/>
      <doc>
      <![CDATA[@param fields
            the list of columns that are added to the output]]>
      </doc>
    </method>
    <method name="changes" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this projection map changes its input or not]]>
      </doc>
    </method>
    <method name="getChanges" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this projection map changes its input or not]]>
      </doc>
    </method>
    <method name="setChanges"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="changes" type="boolean"/>
      <doc>
      <![CDATA[@param changes
            if this projection map changes its input or not]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A struct detailing how a projection is altered by an operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.ProjectionMap -->
  <!-- start class org.apache.pig.impl.plan.ProjectionMap.Column -->
  <class name="ProjectionMap.Column" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Column" type="org.apache.pig.impl.util.Pair"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param inputColumn
            A pair of integers representing the input number and the
            input column number]]>
      </doc>
    </constructor>
    <constructor name="Column" type="org.apache.pig.impl.util.Pair, boolean, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param inputColumn
            A pair of integers representing the input number and the
            input column number
 @param cast
            true if the input column has a cast
 @param castType
            the data type of the cast]]>
      </doc>
    </constructor>
    <method name="getInputColumn" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the mapped column details
 
 @return A pair of integers representing the input number and the
         input column number]]>
      </doc>
    </method>
    <method name="getCast" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Check if the column is cast
 
 @return true if the input column has a cast; false otherwise]]>
      </doc>
    </method>
    <method name="cast" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Check if the column is cast
 
 @return true if the input column has a cast; false otherwise]]>
      </doc>
    </method>
    <method name="getCastType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the data type of the cast
 
 @return the data type of the cast]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[A wrapper for projection map columns to contain the input number, input
 column. Additionally, if a cast is used, record the type of the cast]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.ProjectionMap.Column -->
  <!-- start class org.apache.pig.impl.plan.RequiredFields -->
  <class name="RequiredFields" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RequiredFields" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param needAllFields
            to indicate if this required fields needs all the fields from
            its input]]>
      </doc>
    </constructor>
    <constructor name="RequiredFields" type="boolean, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param needAllFields
            to indicate if this required fields needs no fields from
            its input]]>
      </doc>
    </constructor>
    <constructor name="RequiredFields" type="java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param fields
            the list of input columns that are required]]>
      </doc>
    </constructor>
    <method name="getFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the list of input columns that are required]]>
      </doc>
    </method>
    <method name="getField" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <doc>
      <![CDATA[@param i
         the index of the required field
 @return the ith required input column]]>
      </doc>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the size of required input columns]]>
      </doc>
    </method>
    <method name="setFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fields" type="java.util.List"/>
      <doc>
      <![CDATA[@param fields
            the list of input columns that are required]]>
      </doc>
    </method>
    <method name="needAllFields" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this required fields needs all the fields from its input(s)]]>
      </doc>
    </method>
    <method name="getNeedAllFields" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this required fields needs all the fields from its input(s)]]>
      </doc>
    </method>
    <method name="setNeedAllFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="needAllFields" type="boolean"/>
      <doc>
      <![CDATA[@param needAllFields
            to indicate if this required fields needs all the fields from
            its input; cannot be true if needNoFields() is true]]>
      </doc>
    </method>
    <method name="needNoFields" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this required fields needs no fields from its input(s)]]>
      </doc>
    </method>
    <method name="getNeedNoFields" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return if this required fields needs no fields from its input(s)]]>
      </doc>
    </method>
    <method name="setNeedNoFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="needNoFields" type="boolean"/>
      <doc>
      <![CDATA[@param needNoFields
            to indicate if this required fields needs no fields from
            its input; cannot be true if needAllFields() is true]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="merge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="r2" type="org.apache.pig.impl.plan.RequiredFields"/>
      <doc>
      <![CDATA[Merge with RequiredFields r2. Merge both required fields and required map keys 
 @param r2
            Required fields to merge]]>
      </doc>
    </method>
    <method name="reIndex"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <doc>
      <![CDATA[Set the index of all fields to i  
 @param i
            New index to set]]>
      </doc>
    </method>
    <method name="mergeMapKey"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="int"/>
      <param name="column" type="int"/>
      <param name="key" type="java.lang.String"/>
      <doc>
      <![CDATA[Merge another map key into existing required map keys list
 @param input
            The input of the field to merge
 @param column
            The column of the field to merge
 @param key
            The key to merge]]>
      </doc>
    </method>
    <method name="mergeMapKeysInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="int"/>
      <param name="column" type="int"/>
      <param name="mapKeysInfo" type="org.apache.pig.impl.plan.MapKeysInfo"/>
      <doc>
      <![CDATA[Merge a MapKeysInfo structure to existing required map keys list
 @param input
            The input of the field to merge
 @param column
            The column of the field to merge
 @param mapKeysInfo
            The MapKeysInfo structure to merge]]>
      </doc>
    </method>
    <method name="setMapKeysInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="int"/>
      <param name="column" type="int"/>
      <param name="mapKeysInfo" type="org.apache.pig.impl.plan.MapKeysInfo"/>
      <doc>
      <![CDATA[Set a MapKeysInfo structure to the required map keys list
 @param input
            The input of the field to set
 @param column
            The column of the field to set
 @param mapKeysInfo
            The MapKeysInfo structure to set]]>
      </doc>
    </method>
    <method name="getMapKeysInfo" return="org.apache.pig.impl.plan.MapKeysInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <doc>
      <![CDATA[Get the ith MapKeysInfo structure 
 @param i
            The index of the MapKeysInfo, the index of MapKeysInfo is synchronized with mFields]]>
      </doc>
    </method>
    <method name="setMapKeysInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <param name="mapKeysInfo" type="org.apache.pig.impl.plan.MapKeysInfo"/>
      <doc>
      <![CDATA[Set the ith MapKeysInfo structure 
 @param i
            The index of the MapKeysInfo, the index of MapKeysInfo is synchronized with mFields
 @param mapKeysInfo
            The MapKeysInfo to set]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A struct detailing how a projection is altered by an operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.RequiredFields -->
  <!-- start class org.apache.pig.impl.plan.ReverseDependencyOrderWalker -->
  <class name="ReverseDependencyOrderWalker" extends="org.apache.pig.impl.plan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReverseDependencyOrderWalker" type="org.apache.pig.impl.plan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.impl.plan.PlanVisitor"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.impl.plan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
    </method>
    <method name="doAllSuccessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.impl.plan.Operator"/>
      <param name="seen" type="java.util.Set"/>
      <param name="fifo" type="java.util.Collection"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[ReverseDependencyOrderWalker traverses the graph in such a way that no node is visited
 before all the nodes that are its successors on have been visited.  Beyond this, it does not
 guarantee any particular order.  So, you have a graph with node 1 2 3 4, and
 edges 1->3, 2->3, and 3->4, this walker guarantees that 4 will be visited
 before 3 and 3 before 1 and 2, but it does not guarantee whether 1 or 2 will be
 visited first.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.plan.ReverseDependencyOrderWalker -->
  <!-- start class org.apache.pig.impl.plan.VisitorException -->
  <class name="VisitorException" extends="org.apache.pig.impl.logicalLayer.FrontendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="VisitorException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="org.apache.pig.newplan.Operator, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="org.apache.pig.newplan.Operator, java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="org.apache.pig.newplan.Operator, java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param op - logical operator where the exception occurs
 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="VisitorException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new VisitorException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.plan.VisitorException -->
</package>
<package name="org.apache.pig.impl.plan.optimizer">
  <!-- start class org.apache.pig.impl.plan.optimizer.OptimizerException -->
  <class name="OptimizerException" extends="org.apache.pig.impl.plan.VisitorException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OptimizerException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with null as the error message.]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified cause.

 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, byte, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, byte, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer]]>
      </doc>
    </constructor>
    <constructor name="OptimizerException" type="java.lang.String, int, byte, boolean, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new OptimizerException with the specified message, error code, error source, retriable or not, detalied message for the developer and cause.

 @param message - The error message (which is saved for later retrieval by the <link>Throwable.getMessage()</link> method) shown to the user 
 @param errCode - The error code shown to the user 
 @param errSrc - The error source 
 @param retry - If the exception is retriable or not
 @param detailedMsg - The detailed message shown to the developer 
 @param cause - The cause (which is saved for later retrieval by the <link>Throwable.getCause()</link> method) indicating the source of this exception. A null value is permitted, and indicates that the cause is nonexistent or unknown.]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.plan.optimizer.OptimizerException -->
</package>
<package name="org.apache.pig.impl.streaming">
  <!-- start class org.apache.pig.impl.streaming.DefaultInputHandler -->
  <class name="DefaultInputHandler" extends="org.apache.pig.impl.streaming.InputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DefaultInputHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DefaultInputHandler" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInputType" return="org.apache.pig.impl.streaming.InputHandler.InputType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="process" type="java.lang.Process"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[DefaultInputHandler handles the input for the Pig-Streaming
 executable in a synchronous manner by feeding it input
 via its <code>stdin</code>.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.DefaultInputHandler -->
  <!-- start class org.apache.pig.impl.streaming.DefaultOutputHandler -->
  <class name="DefaultOutputHandler" extends="org.apache.pig.impl.streaming.OutputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DefaultOutputHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DefaultOutputHandler" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputType" return="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[FileOutputHandler handles the output from the Pig-Streaming
 executable in an synchronous manner by reading its output
 via its <code>stdout</code>.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.DefaultOutputHandler -->
  <!-- start class org.apache.pig.impl.streaming.ExecutableManager -->
  <class name="ExecutableManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExecutableManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new {@link ExecutableManager}.]]>
      </doc>
    </constructor>
    <method name="configure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Configure and initialize the {@link ExecutableManager}.

 @param stream POStream operator
 @throws IOException
 @throws ExecException]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Close and cleanup the {@link ExecutableManager}.
 @throws IOException]]>
      </doc>
    </method>
    <method name="exec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Start execution of the external process.

 This takes care of setting up the environment of the process and also
 starts ProcessErrorThread to process the <code>stderr</code> of
 the managed process.

 @throws IOException]]>
      </doc>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Start execution of the {@link ExecutableManager}.

 @throws IOException]]>
      </doc>
    </method>
    <method name="processError"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="error" type="java.lang.String"/>
      <doc>
      <![CDATA[Workhorse to process the stderr stream of the managed process.

 By default <code>ExecuatbleManager</code> just sends out the received
 error message to the <code>stderr</code> of itself.

 @param error
            error message from the managed process.]]>
      </doc>
    </method>
    <field name="command" type="org.apache.pig.impl.streaming.StreamingCommand"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="exitCode" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="stdin" type="java.io.DataOutputStream"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputRecords" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputBytes" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outputRecords" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outputBytes" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outerrThreadsError" type="java.lang.Throwable"
      transient="false" volatile="true"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[{@link ExecutableManager} manages an external executable which processes data
 in a Pig query.

 The <code>ExecutableManager</code> is responsible for startup/teardown of
 the external process and also for managing it. It feeds input records to the
 executable via it's <code>stdin</code>, collects the output records from
 the <code>stdout</code> and also diagnostic information from the
 <code>stdout</code>.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.ExecutableManager -->
  <!-- start class org.apache.pig.impl.streaming.FileInputHandler -->
  <class name="FileInputHandler" extends="org.apache.pig.impl.streaming.InputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FileInputHandler" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="getInputType" return="org.apache.pig.impl.streaming.InputHandler.InputType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="bindTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="os" type="java.io.OutputStream"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="process" type="java.lang.Process"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[FileInputHandler handles the input for the Pig-Streaming
 executable in an asynchronous manner by feeding it input
 via an external file specified by the user.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.FileInputHandler -->
  <!-- start class org.apache.pig.impl.streaming.FileOutputHandler -->
  <class name="FileOutputHandler" extends="org.apache.pig.impl.streaming.OutputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FileOutputHandler" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="getOutputType" return="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="bindTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="is" type="org.apache.pig.impl.io.BufferedPositionedInputStream"/>
      <param name="offset" type="long"/>
      <param name="end" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[FileOutputHandler handles the output from the Pig-Streaming
 executable in an asynchronous manner by reading it from
 an external file specified by the user.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.FileOutputHandler -->
  <!-- start class org.apache.pig.impl.streaming.HandlerFactory -->
  <class name="HandlerFactory" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HandlerFactory"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createInputHandler" return="org.apache.pig.impl.streaming.InputHandler"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="command" type="org.apache.pig.impl.streaming.StreamingCommand"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Create an <code>InputHandler</code> for the given input specification
 of the <code>StreamingCommand</code>.
 
 @param command <code>StreamingCommand</code>
 @return <code>InputHandler</code> for the given input specification
 @throws ExecException]]>
      </doc>
    </method>
    <method name="createOutputHandler" return="org.apache.pig.impl.streaming.OutputHandler"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="command" type="org.apache.pig.impl.streaming.StreamingCommand"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Create an <code>OutputHandler</code> for the given output specification
 of the <code>StreamingCommand</code>.
 
 @param command <code>StreamingCommand</code>
 @return <code>OutputHandler</code> for the given output specification
 @throws ExecException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Factory to create an {@link InputHandler} or {@link OutputHandler}
 depending on the specification of the {@link StreamingCommand}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.HandlerFactory -->
  <!-- start class org.apache.pig.impl.streaming.InputHandler -->
  <class name="InputHandler" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InputHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInputType" return="org.apache.pig.impl.streaming.InputHandler.InputType"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the handled <code>InputType</code>
 @return the handled <code>InputType</code>]]>
      </doc>
    </method>
    <method name="putNext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Send the given input <code>Tuple</code> to the managed executable.

 @param t input <code>Tuple</code>
 @throws IOException]]>
      </doc>
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="process" type="java.lang.Process"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Close the <code>InputHandler</code> since there is no more input
 to be sent to the managed process.
 @param process the managed process - this could be null in some cases
 like when input is through files. In that case, the process would not
 have been exec'ed yet - if this method if overridden it is the responsibility
 of the implementer to check that the process is usable. The managed process
 object is supplied by the ExecutableManager to this call so that this method
 can check if the process is alive if it needs to know.

 @throws IOException]]>
      </doc>
    </method>
    <method name="bindTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="os" type="java.io.OutputStream"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Bind the <code>InputHandler</code> to the <code>OutputStream</code>
 from which it reads input and sends it to the managed process.

 @param os <code>OutputStream</code> from which to read input data for the
           managed process
 @throws IOException]]>
      </doc>
    </method>
    <field name="serializer" type="org.apache.pig.PigToStream"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="alreadyClosed" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[{@link InputHandler} is responsible for handling the input to the
 Pig-Streaming external command.

 The managed executable could be fed input in a {@link InputType#SYNCHRONOUS}
 manner via its <code>stdin</code> or in an {@link InputType#ASYNCHRONOUS}
 manner via an external file which is subsequently read by the executable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.InputHandler -->
  <!-- start class org.apache.pig.impl.streaming.InputHandler.InputType -->
  <class name="InputHandler.InputType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.streaming.InputHandler.InputType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.streaming.InputHandler.InputType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="SYNCHRONOUS" type="org.apache.pig.impl.streaming.InputHandler.InputType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ASYNCHRONOUS" type="org.apache.pig.impl.streaming.InputHandler.InputType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.streaming.InputHandler.InputType -->
  <!-- start class org.apache.pig.impl.streaming.OutputHandler -->
  <class name="OutputHandler" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OutputHandler"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputType" return="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the handled <code>OutputType</code>.
 @return the handled <code>OutputType</code>]]>
      </doc>
    </method>
    <method name="bindTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="is" type="org.apache.pig.impl.io.BufferedPositionedInputStream"/>
      <param name="offset" type="long"/>
      <param name="end" type="long"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Bind the <code>OutputHandler</code> to the <code>InputStream</code>
 from which to read the output data of the managed process.

 @param is <code>InputStream</code> from which to read the output data
           of the managed process
 @throws IOException]]>
      </doc>
    </method>
    <method name="getNext" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Get the next output <code>Tuple</code> of the managed process.

 @return the next output <code>Tuple</code> of the managed process
 @throws IOException]]>
      </doc>
    </method>
    <method name="getRecordDelimiter" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="true"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Close the <code>OutputHandler</code>.
 @throws IOException]]>
      </doc>
    </method>
    <field name="END_OF_OUTPUT" type="java.lang.Object"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="deserializer" type="org.apache.pig.StreamToPig"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="in" type="org.apache.hadoop.util.LineReader"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="alreadyClosed" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[{@link OutputHandler} is responsible for handling the output of the
 Pig-Streaming external command.

 The output of the managed executable could be fetched in a
 {@link OutputType#SYNCHRONOUS} manner via its <code>stdout</code> or in an
 {@link OutputType#ASYNCHRONOUS} manner via an external file to which the
 process wrote its output.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.OutputHandler -->
  <!-- start class org.apache.pig.impl.streaming.OutputHandler.OutputType -->
  <class name="OutputHandler.OutputType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.streaming.OutputHandler.OutputType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="SYNCHRONOUS" type="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ASYNCHRONOUS" type="org.apache.pig.impl.streaming.OutputHandler.OutputType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.streaming.OutputHandler.OutputType -->
  <!-- start class org.apache.pig.impl.streaming.PigStreamingUDF -->
  <class name="PigStreamingUDF" extends="org.apache.pig.PigStreamingBase"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigStreamingUDF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigStreamingUDF" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="serializeToBytes" return="org.apache.pig.data.WritableByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getLoadCaster" return="org.apache.pig.LoadCaster"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <param name="offset" type="int"/>
      <param name="length" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getRecordDelim" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.PigStreamingUDF -->
  <!-- start class org.apache.pig.impl.streaming.StreamingCommand -->
  <class name="StreamingCommand" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="StreamingCommand" type="org.apache.pig.impl.PigContext, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new <code>StreamingCommand</code> with the given command.
 
 @param pigContext PigContext structure
 @param argv parsed arguments of the <code>command</code>]]>
      </doc>
    </constructor>
    <method name="getExecutable" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the command to be executed.
 
 @return the command to be executed]]>
      </doc>
    </method>
    <method name="setExecutable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="executable" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the executable for the <code>StreamingCommand</code>.
 
 @param executable the executable for the <code>StreamingCommand</code>]]>
      </doc>
    </method>
    <method name="setCommandArgs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="argv" type="java.lang.String[]"/>
      <doc>
      <![CDATA[Set the command line arguments for the <code>StreamingCommand</code>.
 
 @param argv the command line arguments for the 
             <code>StreamingCommand</code>]]>
      </doc>
    </method>
    <method name="getCommandArgs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the parsed command arguments.
 
 @return the parsed command arguments as <code>String[]</code>]]>
      </doc>
    </method>
    <method name="getShipSpecs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the list of files which need to be shipped to the cluster.
 
 @return the list of files which need to be shipped to the cluster]]>
      </doc>
    </method>
    <method name="getCacheSpecs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the list of files which need to be cached on the execute nodes.
 
 @return the list of files which need to be cached on the execute nodes]]>
      </doc>
    </method>
    <method name="addPathToShip"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Add a file to be shipped to the cluster. 
 
 Users can use this to distribute executables and other necessary files
 to the clusters.
 
 @param path path of the file to be shipped to the cluster]]>
      </doc>
    </method>
    <method name="addPathToCache"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Add a file to be cached on execute nodes on the cluster. The file is
 assumed to be available at the shared filesystem.
 
 @param path path of the file to be cached on the execute nodes]]>
      </doc>
    </method>
    <method name="addHandleSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="handle" type="org.apache.pig.impl.streaming.StreamingCommand.Handle"/>
      <param name="handleSpec" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"/>
      <doc>
      <![CDATA[Attach a {@link HandleSpec} to a given {@link Handle}
 @param handle <code>Handle</code> to which the specification is to 
               be attached.
 @param handleSpec <code>HandleSpec</code> for the given handle.]]>
      </doc>
    </method>
    <method name="setInputSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spec" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"/>
      <doc>
      <![CDATA[Set the input specification for the <code>StreamingCommand</code>.
 
 @param spec input specification]]>
      </doc>
    </method>
    <method name="getInputSpec" return="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the input specification of the <code>StreamingCommand</code>.
 
 @return input specification of the <code>StreamingCommand</code>]]>
      </doc>
    </method>
    <method name="setOutputSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spec" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"/>
      <doc>
      <![CDATA[Set the specification for the primary output of the 
 <code>StreamingCommand</code>.
 
 @param spec specification for the primary output of the 
             <code>StreamingCommand</code>]]>
      </doc>
    </method>
    <method name="getOutputSpec" return="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the specification of the primary output of the 
 <code>StreamingCommand</code>.
 
 @return specification of the primary output of the 
         <code>StreamingCommand</code>]]>
      </doc>
    </method>
    <method name="getHandleSpecs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="handle" type="org.apache.pig.impl.streaming.StreamingCommand.Handle"/>
      <doc>
      <![CDATA[Get specifications for the given <code>Handle</code>.
 
 @param handle <code>Handle</code> of the stream
 @return specification for the given <code>Handle</code>]]>
      </doc>
    </method>
    <method name="getPersistStderr" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Should the stderr of the managed process be persisted?
 
 @return <code>true</code> if the stderr of the managed process should be
         persisted, <code>false</code> otherwise.]]>
      </doc>
    </method>
    <method name="setPersistStderr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="persistStderr" type="boolean"/>
      <doc>
      <![CDATA[Specify if the stderr of the managed process should be persisted.
 
 @param persistStderr <code>true</code> if the stderr of the managed 
                      process should be persisted, else <code>false</code>]]>
      </doc>
    </method>
    <method name="getLogDir" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the directory where the log-files of the command are persisted.
 
 @return the directory where the log-files of the command are persisted]]>
      </doc>
    </method>
    <method name="setLogDir"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="logDir" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the directory where the log-files of the command are persisted.
 
 @param logDir the directory where the log-files of the command are persisted]]>
      </doc>
    </method>
    <method name="getLogFilesLimit" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the maximum number of tasks whose stderr logs files are persisted.
 
 @return the maximum number of tasks whose stderr logs files are persisted]]>
      </doc>
    </method>
    <method name="setLogFilesLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="logFilesLimit" type="int"/>
      <doc>
      <![CDATA[Set the maximum number of tasks whose stderr logs files are persisted.
 @param logFilesLimit the maximum number of tasks whose stderr logs files 
                      are persisted]]>
      </doc>
    </method>
    <method name="setShipFiles"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="shipFiles" type="boolean"/>
      <doc>
      <![CDATA[Set whether files should be shipped or not.
 
 @param shipFiles <code>true</code> if files of this command should be
                  shipped, <code>false</code> otherwise]]>
      </doc>
    </method>
    <method name="getShipFiles" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get whether files for this command should be shipped or not.
 
 @return <code>true</code> if files of this command should be shipped, 
         <code>false</code> otherwise]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="MAX_TASKS" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[{@link StreamingCommand} represents the specification of an external
 command to be executed in a Pig Query. 
 
 <code>StreamingCommand</code> encapsulates all relevant details of the
 command specified by the user either directly via the <code>STREAM</code>
 operator or indirectly via a <code>DEFINE</code> operator. It includes
 details such as input/output/error specifications and also files to be
 shipped to the cluster and files to be cached.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingCommand -->
  <!-- start class org.apache.pig.impl.streaming.StreamingCommand.Handle -->
  <class name="StreamingCommand.Handle" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.streaming.StreamingCommand.Handle[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.streaming.StreamingCommand.Handle"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="INPUT" type="org.apache.pig.impl.streaming.StreamingCommand.Handle"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUT" type="org.apache.pig.impl.streaming.StreamingCommand.Handle"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Handle to communicate with the external process.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingCommand.Handle -->
  <!-- start class org.apache.pig.impl.streaming.StreamingCommand.HandleSpec -->
  <class name="StreamingCommand.HandleSpec" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Comparable"/>
    <implements name="java.io.Serializable"/>
    <implements name="java.lang.Cloneable"/>
    <constructor name="HandleSpec" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new {@link HandleSpec} with a given name using the default
 {@link PigStorage} serializer/deserializer.
 
 @param handleName name of the handle (one of <code>stdin</code>,
                   <code>stdout</code> or a file-path)]]>
      </doc>
    </constructor>
    <constructor name="HandleSpec" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new {@link HandleSpec} with a given name using the default
 {@link PigStorage} serializer/deserializer.
 
 @param handleName name of the handle (one of <code>stdin</code>,
                   <code>stdout</code> or a file-path)
 @param spec serializer/deserializer spec]]>
      </doc>
    </constructor>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="org.apache.pig.impl.streaming.StreamingCommand.HandleSpec"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the <b>name</b> of the <code>HandleSpec</code>.
 
 @return the <b>name</b> of the <code>HandleSpec</code> (one of 
         <code>stdin</code>, <code>stdout</code> or a file-path)]]>
      </doc>
    </method>
    <method name="setName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the <b>name</b> of the <code>HandleSpec</code>.
 
 @param name <b>name</b> of the <code>HandleSpec</code> (one of 
         <code>stdin</code>, <code>stdout</code> or a file-path)]]>
      </doc>
    </method>
    <method name="getSpec" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the serializer/deserializer spec of the <code>HandleSpec</code>.
 
 @return the serializer/deserializer spec of the 
         <code>HandleSpec</code>]]>
      </doc>
    </method>
    <method name="setSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spec" type="java.lang.String"/>
      <doc>
      <![CDATA[Set the serializer/deserializer spec of the <code>HandleSpec</code>.
 
 @param spec the serializer/deserializer spec of the 
             <code>HandleSpec</code>]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clone" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Specification about the usage of the {@link Handle} to communicate
 with the external process.
 
 It specifies the stream-handle which can be one of <code>stdin</code>/
 <code>stdout</code>/<code>stderr</code> or a named file and also the
 serializer/deserializer specification to be used to read/write data 
 to/from the stream.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingCommand.HandleSpec -->
  <!-- start class org.apache.pig.impl.streaming.StreamingDelimiters -->
  <class name="StreamingDelimiters" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingDelimiters"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingDelimiters" type="byte, byte, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param preWrapDelim
 @param postWrapDelim
 @param useEmptyNull - In the past empty was used to serialize null.  But this can
      make it impossible to differentiate between an empty string and null.  Set
      to false if you want to use a special character to represent null.]]>
      </doc>
    </constructor>
    <method name="getTupleBegin" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTupleEnd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBagBegin" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBagEnd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapBegin" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapEnd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldDelim" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapKeyDelim" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNull" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParamDelim" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRecordEnd" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="updateDepth" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buf" type="byte[]"/>
      <param name="currDepth" type="int"/>
      <param name="index" type="int"/>
      <doc>
      <![CDATA[@return - The new depth.  Depth is increased if at the end of a byte sequence
 that indicates the start of a bag, tuple, or map.  Depth is decreased if at the 
 end of a byte sequence that indicates the end of a bug, tuple, or map.]]>
      </doc>
    </method>
    <method name="isDelimiter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="delimiter" type="byte[]"/>
      <param name="buf" type="byte[]"/>
      <param name="index" type="int"/>
      <param name="depth" type="int"/>
      <param name="endIndex" type="int"/>
      <doc>
      <![CDATA[@param delimiter
 @param buf
 @param index
 @param depth
 @param endIndex
 @return - True iff the delimiter]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingDelimiters -->
  <!-- start class org.apache.pig.impl.streaming.StreamingUDFException -->
  <class name="StreamingUDFException" extends="org.apache.pig.backend.executionengine.ExecException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUDFException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingUDFException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingUDFException" type="java.lang.String, java.lang.Integer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingUDFException" type="java.lang.String, java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingUDFException" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="StreamingUDFException" type="java.lang.String, java.lang.String, java.lang.Integer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLanguage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLineNumber" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingUDFException -->
  <!-- start class org.apache.pig.impl.streaming.StreamingUDFInputHandler -->
  <class name="StreamingUDFInputHandler" extends="org.apache.pig.impl.streaming.DefaultInputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUDFInputHandler" type="org.apache.pig.PigStreamingBase"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingUDFInputHandler -->
  <!-- start class org.apache.pig.impl.streaming.StreamingUDFOutputHandler -->
  <class name="StreamingUDFOutputHandler" extends="org.apache.pig.impl.streaming.DefaultOutputHandler"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUDFOutputHandler" type="org.apache.pig.impl.streaming.PigStreamingUDF"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRecordDelimiter" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingUDFOutputHandler -->
  <!-- start class org.apache.pig.impl.streaming.StreamingUDFOutputSchemaException -->
  <class name="StreamingUDFOutputSchemaException" extends="java.lang.Exception"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUDFOutputSchemaException" type="java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLineNumber" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingUDFOutputSchemaException -->
  <!-- start class org.apache.pig.impl.streaming.StreamingUtil -->
  <class name="StreamingUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createProcess" return="java.lang.ProcessBuilder"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="command" type="org.apache.pig.impl.streaming.StreamingCommand"/>
      <doc>
      <![CDATA[Create an external process for StreamingCommand command.
 
 @param command
 @return]]>
      </doc>
    </method>
    <method name="addJobConfToEnvironment"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="env" type="java.util.Map"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.streaming.StreamingUtil -->
</package>
<package name="org.apache.pig.impl.util">
  <!-- start class org.apache.pig.impl.util.BagFormat -->
  <class name="BagFormat" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="format" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bag" type="org.apache.pig.data.DataBag"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.BagFormat -->
  <!-- start class org.apache.pig.impl.util.CastUtils -->
  <class name="CastUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CastUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convertToType" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="caster" type="org.apache.pig.LoadCaster"/>
      <param name="bytes" type="byte[]"/>
      <param name="fieldSchema" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <param name="dataType" type="byte"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param caster LoadCaster to be used to convert the bytes into a field.
 @param bytes
 @param fieldSchema schema of Bag or Tuple; pass in null if a simple type.
 @param dataType type from DataType
 @return converted object.
 @throws IOException]]>
      </doc>
    </method>
    <method name="stringToDouble" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="stringToFloat" return="java.lang.Float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="stringToInteger" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="stringToLong" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="stringToBoolean" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.util.CastUtils -->
  <!-- start class org.apache.pig.impl.util.CompilerUtils -->
  <class name="CompilerUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CompilerUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="addEmptyBagOuterJoin"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="inputSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="skewedRightOuterJoin" type="boolean"/>
      <param name="isFirstReduceOfKeyClassName" type="java.lang.String"/>
      <exception name="PlanException" type="org.apache.pig.impl.plan.PlanException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.CompilerUtils -->
  <!-- start class org.apache.pig.impl.util.ConfigurationValidator -->
  <class name="ConfigurationValidator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConfigurationValidator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="validatePigProperties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <doc>
      <![CDATA[All pig configurations should be validated in here before use
 @param properties]]>
      </doc>
    </method>
    <method name="getValidatedProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <doc>
      <![CDATA[Validate properties which need to be validated and return *ONLY* those
 @param properties The Properties object containing all PIG properties
 @return The properties object containing *ONLY* properties which were validated
 (Typically these are user editable properties and should match the properties
 validated in ValidatePigProperties(Properties properties))]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.ConfigurationValidator -->
  <!-- start interface org.apache.pig.impl.util.GroupingSpillable -->
  <interface name="GroupingSpillable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <doc>
    <![CDATA[Interface to be implemented by classes that group data in memory]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.impl.util.GroupingSpillable -->
  <!-- start class org.apache.pig.impl.util.HashOutputStream -->
  <class name="HashOutputStream" extends="java.io.OutputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HashOutputStream" type="com.google.common.hash.HashFunction"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="int"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getHashCode" return="com.google.common.hash.HashCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.HashOutputStream -->
  <!-- start class org.apache.pig.impl.util.IdentityHashSet -->
  <class name="IdentityHashSet" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.Set"/>
    <constructor name="IdentityHashSet"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="add" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="element" type="java.lang.Object"/>
    </method>
    <method name="addAll" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="elements" type="java.util.Collection"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="contains" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="element" type="java.lang.Object"/>
    </method>
    <method name="containsAll" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="elements" type="java.util.Collection"/>
    </method>
    <method name="isEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="remove" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="element" type="java.lang.Object"/>
    </method>
    <method name="removeAll" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="elements" type="java.util.Collection"/>
    </method>
    <method name="retainAll" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="elements" type="java.util.Collection"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toArray" return="java.lang.Object[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toArray" return="java.lang.Object[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dummy" type="java.lang.Object[]"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.IdentityHashSet -->
  <!-- start class org.apache.pig.impl.util.JarManager -->
  <class name="JarManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JarManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createPigScriptUDFJar" return="java.io.File"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getDefaultJars" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="findContainingJar" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="my_class" type="java.lang.Class"/>
      <doc>
      <![CDATA[Find a jar that contains a class of the same name, if any. It will return a jar file, even if
 that is not the first thing on the class path that has a class with the same name.

 @param my_class
            the class to find
 @return a jar file that contains the class, or null
 @throws IOException]]>
      </doc>
    </method>
    <method name="addDependencyJars"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <param name="classes" type="java.lang.Class[]"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Add the jars containing the given classes to the job's configuration
 such that JobClient will ship them to the cluster and add them to
 the DistributedCache

 @param job
           Job object
 @param classes
            classes to find
 @throws IOException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.JarManager -->
  <!-- start class org.apache.pig.impl.util.JavaCompilerHelper -->
  <class name="JavaCompilerHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JavaCompilerHelper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="compile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="target" type="java.lang.String"/>
      <param name="sources" type="org.apache.pig.impl.util.JavaCompilerHelper.JavaSourceFromString[]"/>
    </method>
    <method name="addToClassPath"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
    </method>
    <method name="getClassPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.JavaCompilerHelper -->
  <!-- start class org.apache.pig.impl.util.JavaCompilerHelper.JavaSourceFromString -->
  <class name="JavaCompilerHelper.JavaSourceFromString" extends="javax.tools.SimpleJavaFileObject"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JavaSourceFromString" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getCharContent" return="java.lang.CharSequence"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ignoreEncodingErrors" type="boolean"/>
    </method>
    <doc>
    <![CDATA[This class allows code to be generated directly from a String, instead of having to be
 on disk.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.JavaCompilerHelper.JavaSourceFromString -->
  <!-- start class org.apache.pig.impl.util.LineageTracer -->
  <class name="LineageTracer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LineageTracer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="insert"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="union"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="org.apache.pig.data.Tuple"/>
      <param name="t2" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getRepresentative" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getCounts" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWeightedCounts" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="specialTuples" type="org.apache.pig.impl.util.IdentityHashSet"/>
      <param name="multiplier" type="int"/>
    </method>
    <method name="getMembers" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getMembershipMap" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.LineageTracer -->
  <!-- start class org.apache.pig.impl.util.LinkedMultiMap -->
  <class name="LinkedMultiMap" extends="org.apache.pig.impl.util.MultiMap"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LinkedMultiMap"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LinkedMultiMap" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param size Initial size of the map]]>
      </doc>
    </constructor>
  </class>
  <!-- end class org.apache.pig.impl.util.LinkedMultiMap -->
  <!-- start class org.apache.pig.impl.util.LogUtils -->
  <class name="LogUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="warn"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <param name="msg" type="java.lang.String"/>
      <param name="warningEnum" type="org.apache.pig.PigWarning"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
    <method name="getPermissionException" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="top" type="java.lang.Exception"/>
    </method>
    <method name="getPigException" return="org.apache.pig.PigException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="top" type="java.lang.Throwable"/>
    </method>
    <method name="writeLog"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="java.lang.Throwable"/>
      <param name="logFileName" type="java.lang.String"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
      <param name="verbose" type="boolean"/>
      <param name="headerMessage" type="java.lang.String"/>
    </method>
    <method name="writeLog"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="java.lang.Throwable"/>
      <param name="logFileName" type="java.lang.String"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
      <param name="verbose" type="boolean"/>
      <param name="headerMessage" type="java.lang.String"/>
      <param name="displayFooter" type="boolean"/>
      <param name="displayMessage" type="boolean"/>
    </method>
    <method name="writeLog"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="headerMessage" type="java.lang.String"/>
      <param name="message" type="java.lang.String"/>
      <param name="logFileName" type="java.lang.String"/>
      <param name="log" type="org.apache.commons.logging.Log"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.LogUtils -->
  <!-- start class org.apache.pig.impl.util.MultiMap -->
  <class name="MultiMap" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="MultiMap"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MultiMap" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param size Initial size of the map]]>
      </doc>
    </constructor>
    <method name="put"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="value" type="java.lang.Object"/>
      <doc>
      <![CDATA[Add an element to the map.
 @param key The key to store the value under.  If the key already
 exists the value will be added to the collection for that key, it
 will not replace the existing value (as in a standard map).
 @param value value to store.]]>
      </doc>
    </method>
    <method name="put"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="values" type="java.util.Collection"/>
      <doc>
      <![CDATA[Add a key to the map with a collection of elements.
 @param key The key to store the value under.  If the key already
 exists the value will be added to the collection for that key, it
 will not replace the existing value (as in a standard map).
 @param values collection of values to store.]]>
      </doc>
    </method>
    <method name="get" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <doc>
      <![CDATA[Get the collection of values associated with a given key.
 @param key Key to fetch values for.
 @return list of values, or null if the key is not in the map.]]>
      </doc>
    </method>
    <method name="remove" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <param name="value" type="java.lang.Object"/>
      <doc>
      <![CDATA[Remove one value from an existing key.  If that is the last value
 for the key, then remove the key too.
 @param key Key to remove the value from.
 @param value Value to remove.
 @return The value being removed, or null if the key or value does
 not exist.]]>
      </doc>
    </method>
    <method name="removeKey" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
      <doc>
      <![CDATA[Remove all the values associated with the given key
 @param key the key to be removed
 @return list of all value being removed]]>
      </doc>
    </method>
    <method name="keySet" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a set of all the keys in this map.
 @return Set of keys.]]>
      </doc>
    </method>
    <method name="values" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a single collection of all the values in the map.  All of the
 values in the map will be conglomerated into one collection.  There
 will not be any duplicate removal.
 @return collection of values.]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the number of keys in the map.
 @return number of keys.]]>
      </doc>
    </method>
    <method name="isEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="containsKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
    <method name="containsValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <field name="mMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[An implementation of multi-map.  We can't use Apache commons
 MultiValueMap because it isn't serializable.  And we don't want to use
 MultiHashMap, as it is marked deprecated.
 
 This class can't extend Map, because it needs to change the semantics of
 put, so that you give it one key and one value, and it either creates a
 new entry with the key and a new collection of value (if the is not yet
 in the map) or adds the values to the existing collection for the key
 (if the key is already in the map).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.MultiMap -->
  <!-- start class org.apache.pig.impl.util.NumValCarrier -->
  <class name="NumValCarrier" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NumValCarrier"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="makeNameFromDataType" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="type" type="byte"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.NumValCarrier -->
  <!-- start class org.apache.pig.impl.util.ObjectSerializer -->
  <class name="ObjectSerializer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ObjectSerializer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="serialize" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.io.Serializable"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="deserialize" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="encodeBytes" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="byte[]"/>
      <exception name="UnsupportedEncodingException" type="java.io.UnsupportedEncodingException"/>
    </method>
    <method name="decodeBytes" return="byte[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
      <exception name="UnsupportedEncodingException" type="java.io.UnsupportedEncodingException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.ObjectSerializer -->
  <!-- start class org.apache.pig.impl.util.Pair -->
  <class name="Pair" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="Pair" type="java.lang.Object, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param f First element in pair.
 @param s Second element in pair.]]>
      </doc>
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hashCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
    </method>
    <field name="first" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="second" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Copy of C++ STL pair container.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.Pair -->
  <!-- start class org.apache.pig.impl.util.PropertiesUtil -->
  <class name="PropertiesUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PropertiesUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="loadDefaultProperties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <doc>
      <![CDATA[Loads the default properties from pig-default.properties and
 pig.properties.
 @param properties Properties object that needs to be loaded with the
 properties' values.]]>
      </doc>
    </method>
    <method name="loadPropertiesFromFile"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
      <param name="fileName" type="java.lang.String"/>
      <doc>
      <![CDATA[Loads the properties from a given file.
 @param properties Properties object that is to be loaded.
 @param fileName file name of the file that contains the properties.]]>
      </doc>
    </method>
    <method name="loadDefaultProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Loads default properties.
 @return default properties]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.PropertiesUtil -->
  <!-- start class org.apache.pig.impl.util.RewindableIterator -->
  <class name="RewindableIterator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RewindableIterator" type="java.util.Iterator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="hasNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="k" type="int"/>
    </method>
    <method name="rewind"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="noRewind"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="next" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.RewindableIterator -->
  <!-- start interface org.apache.pig.impl.util.Spillable -->
  <interface name="Spillable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="spill" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Instructs an object to spill whatever it can to disk and release
 references to any data structures it spills.
 @return number of objects spilled.]]>
      </doc>
    </method>
    <method name="getMemorySize" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Requests that an object return an estimate of its in memory size.
 @return estimated in memory size.]]>
      </doc>
    </method>
  </interface>
  <!-- end interface org.apache.pig.impl.util.Spillable -->
  <!-- start class org.apache.pig.impl.util.SpillableMemoryManager -->
  <class name="SpillableMemoryManager" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="javax.management.NotificationListener"/>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInstance" return="org.apache.pig.impl.util.SpillableMemoryManager"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="configure"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="handleNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="n" type="javax.management.Notification"/>
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="clearSpillables"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="registerSpillable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.impl.util.Spillable"/>
      <doc>
      <![CDATA[Register a spillable to be tracked. No need to unregister, the tracking will stop
 when the spillable is GCed.
 @param s the spillable to track.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class Tracks the tenured pool and a list of Spillable objects. When memory gets low, this
 class will start requesting Spillable objects to free up memory.
 <p>
 Low memory is defined as more than 50% of the tenured pool being allocated. Spillable objects are
 tracked using WeakReferences so that the objects can be GCed even though this class has a reference
 to them.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.SpillableMemoryManager -->
  <!-- start class org.apache.pig.impl.util.StorageUtil -->
  <class name="StorageUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="StorageUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="parseFieldDel" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="delimiter" type="java.lang.String"/>
      <doc>
      <![CDATA[Transform a <code>String</code> into a byte representing the
 field delimiter.

 @param delimiter a string that may be in single-quoted form
 @return the field delimiter in byte form]]>
      </doc>
    </method>
    <method name="putField"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <param name="field" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putField"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <param name="field" type="java.lang.Object"/>
      <param name="includeTypeInformation" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="putField"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.OutputStream"/>
      <param name="field" type="java.lang.Object"/>
      <param name="delims" type="org.apache.pig.impl.streaming.StreamingDelimiters"/>
      <param name="includeTypeInformation" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Serialize an object to an {@link OutputStream} in the
 field-delimited form.

 @param out an OutputStream object
 @param field an object to be serialized
 @throws IOException if serialization fails.]]>
      </doc>
    </method>
    <method name="textToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="org.apache.hadoop.io.Text"/>
      <param name="fieldDel" type="byte"/>
      <doc>
      <![CDATA[Transform a line of <code>Text</code> to a <code>Tuple</code>

 @param val a line of text
 @param fieldDel the field delimiter
 @return tuple constructed from the text]]>
      </doc>
    </method>
    <method name="bytesToTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buf" type="byte[]"/>
      <param name="offset" type="int"/>
      <param name="length" type="int"/>
      <param name="fieldDel" type="byte"/>
      <doc>
      <![CDATA[Transform bytes from a byte array up to the specified length to a <code>Tuple</code>

 @param buf the byte array
 @param length number of bytes to consume from the byte array
 @param fieldDel the field delimiter
 @return tuple constructed from the bytes]]>
      </doc>
    </method>
    <field name="DEFAULT_DELIMITERS" type="org.apache.pig.impl.streaming.StreamingDelimiters"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This util class provides methods that are shared by storage class
 {@link PigStorage} and streaming class {@link PigStreaming}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.StorageUtil -->
  <!-- start class org.apache.pig.impl.util.StringUtils -->
  <class name="StringUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StringUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="unescapeInputString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.String"/>
    </method>
    <method name="join" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="java.util.AbstractCollection"/>
      <param name="delimiter" type="java.lang.String"/>
    </method>
    <method name="getPathStrings" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="commaSeparatedPaths" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.StringUtils -->
  <!-- start class org.apache.pig.impl.util.TupleFormat -->
  <class name="TupleFormat" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TupleFormat"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="format" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <doc>
      <![CDATA[Default implementation of format of tuple (each filed is delimited by
 tab)
 
 @param tuple
 @return Default format of Tuple]]>
      </doc>
    </method>
    <field name="mLog" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Default implementation of format of Tuple. Dump and PigDump use this default
 implementation]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.TupleFormat -->
  <!-- start class org.apache.pig.impl.util.UDFContext -->
  <class name="UDFContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getUDFContext" return="org.apache.pig.impl.util.UDFContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return a Thread Local {@link UDFContext}]]>
      </doc>
    </method>
    <method name="setUdfContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udfContext" type="org.apache.pig.impl.util.UDFContext"/>
    </method>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getUdfConfs" return="java.util.HashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setClientSystemProps"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="getClientSystemProps" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the System Properties (Read only) as on the client machine from where Pig
 was launched. This will include command line properties passed at launch
 time
 @return client side System Properties including command line properties]]>
      </doc>
    </method>
    <method name="addJobConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Adds the JobConf to this singleton.  Will be
 called on the backend by the Map and Reduce
 functions so that UDFs can obtain the JobConf
 on the backend.]]>
      </doc>
    </method>
    <method name="getJobConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the JobConf.  This should only be called on
 the backend.  It will return null on the frontend.
 @return JobConf for this job.  This is a copy of the
 JobConf.  Nothing written here will be kept by the system.
 getUDFConf should be used for recording UDF specific
 information.]]>
      </doc>
    </method>
    <method name="getUDFProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="java.lang.Class"/>
      <param name="args" type="java.lang.String[]"/>
      <doc>
      <![CDATA[Get a properties object that is specific to this UDF.
 Note that if a given UDF is called multiple times in a script,
 and each instance passes different arguments, then each will
 be provided with different configuration object.
 This can be used by loaders to pass their input object path
 or URI and separate themselves from other instances of the
 same loader.  Constructor arguments could also be used,
 as they are available on both the front and back end.

 Note that this can only be used to share information
 across instantiations of the same function in the front end
 and between front end and back end.  It cannot be used to
 share information between instantiations (that is, between
 map and/or reduce instances) on the back end at runtime.
 @param c of the UDF obtaining the properties object.
 @param args String arguments that make this instance of
 the UDF unique.
 @return A reference to the properties object specific to
 the calling UDF.  This is a reference, not a copy.
 Any changes to this object will automatically be
 propogated to other instances of the UDF calling this
 function.]]>
      </doc>
    </method>
    <method name="getUDFProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="java.lang.Class"/>
      <doc>
      <![CDATA[Get a properties object that is specific to this UDF.
 Note that if a given UDF is called multiple times in a script,
 they will all be provided the same configuration object.  It
 is up to the UDF to make sure the multiple instances do not
 stomp on each other.

 It is guaranteed that this properties object will be separate
 from that provided to any other UDF.

 Note that this can only be used to share information
 across instantiations of the same function in the front end
 and between front end and back end.  It cannot be used to
 share information between instantiations (that is, between
 map and/or reduce instances) on the back end at runtime.
 @param c of the UDF obtaining the properties object.
 @return A reference to the properties object specific to
 the calling UDF.  This is a reference, not a copy.
 Any changes to this object will automatically be
 propogated to other instances of the UDF calling this
 function.]]>
      </doc>
    </method>
    <method name="serialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Serialize the UDF specific information into an instance
 of JobConf.  This function is intended to be called on
 the front end in preparation for sending the data to the
 backend.
 @param conf JobConf to serialize into
 @throws IOException if underlying serialization throws it]]>
      </doc>
    </method>
    <method name="serialize" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="deserialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Populate the udfConfs field.  This function is intended to
 be called by Map.configure or Reduce.configure on the backend.
 It assumes that addJobConf has already been called.
 @throws IOException if underlying deseralization throws it]]>
      </doc>
    </method>
    <method name="deserializeForSpark"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udfConfsStr" type="java.lang.String"/>
      <param name="clientSysPropsStr" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="reset"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isUDFConfEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isFrontend" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Convenience method for UDF code to check where it runs (see PIG-2576)
 @return boolean type value]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.impl.util.UDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Make a shallow copy of the context.]]>
      </doc>
    </method>
    <method name="getClientSysProps" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.UDFContext -->
  <!-- start class org.apache.pig.impl.util.UDFContextSeparator -->
  <class name="UDFContextSeparator" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFContextSeparator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getUnKnownKeys" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="planOpKey" type="java.lang.String"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ld" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
    <method name="serializeUDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="planOpKey" type="java.lang.String"/>
      <param name="udfTypes" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="serializeUDFContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <param name="planOpKey" type="java.lang.String"/>
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.UDFContextSeparator -->
  <!-- start class org.apache.pig.impl.util.UDFContextSeparator.UDFType -->
  <class name="UDFContextSeparator.UDFType" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.impl.util.UDFContextSeparator.UDFType[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.impl.util.UDFContextSeparator.UDFType"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="LOADFUNC" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STOREFUNC" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="USERFUNC" type="org.apache.pig.impl.util.UDFContextSeparator.UDFType"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.impl.util.UDFContextSeparator.UDFType -->
  <!-- start class org.apache.pig.impl.util.UriUtil -->
  <class name="UriUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UriUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isHDFSFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.lang.String"/>
    </method>
    <method name="isHDFSFileOrLocalOrS3N" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.UriUtil -->
  <!-- start class org.apache.pig.impl.util.Utils -->
  <class name="Utils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Utils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isVendorIBM" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method checks whether JVM vendor is IBM
 @return true if IBM JVM is being used
 false otherwise]]>
      </doc>
    </method>
    <method name="is64bitJVM" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="checkNullEquals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj1" type="java.lang.Object"/>
      <param name="obj2" type="java.lang.Object"/>
      <param name="checkEquality" type="boolean"/>
      <doc>
      <![CDATA[This method is a helper for classes to implement {@link java.lang.Object#equals(java.lang.Object)}
 checks if two objects are equals - two levels of checks are
 made - first if both are null or not null. If either is null,
 check is made whether both are null.
 If both are non null, equality also is checked if so indicated
 @param obj1 first object to be compared
 @param obj2 second object to be compared
 @param checkEquality flag to indicate whether object equality should
 be checked if obj1 and obj2 are non-null
 @return true if the two objects are equal
 false otherwise]]>
      </doc>
    </method>
    <method name="checkNullAndClass" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj1" type="java.lang.Object"/>
      <param name="obj2" type="java.lang.Object"/>
      <doc>
      <![CDATA[This method is a helper for classes to implement {@link java.lang.Object#equals(java.lang.Object)}
 The method checks whether the two arguments are both null or both not null and
 whether they are of the same class
 @param obj1 first object to compare
 @param obj2 second object to compare
 @return true if both objects are null or both are not null
 and if both are of the same class if not null
 false otherwise]]>
      </doc>
    </method>
    <method name="getScriptSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loadFuncSignature" type="java.lang.String"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[A helper function for retrieving the script schema set by the LOLoad
 function.

 @param loadFuncSignature
 @param conf
 @return Schema
 @throws IOException]]>
      </doc>
    </method>
    <method name="getScriptSchemaKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loadFuncSignature" type="java.lang.String"/>
    </method>
    <method name="getSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="wrappedLoadFunc" type="org.apache.pig.LoadFunc"/>
      <param name="location" type="java.lang.String"/>
      <param name="checkExistence" type="boolean"/>
      <param name="job" type="org.apache.hadoop.mapreduce.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getSchemaFromString" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schemaString" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[@param schemaString a String representation of the Schema <b>without</b>
                     any enclosing curly-braces.<b>Not</b> for use with
                     <code>Schema#toString</code>
 @return Schema instance
 @throws ParserException]]>
      </doc>
    </method>
    <method name="getSchemaFromBagSchemaString" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schemaString" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[getSchemaFromBagSchemaString
 <b>NOTE: use this call</b> when you need to generate a Schema object
 from the representation generated by <code>Schema#toString</code>.
 This call strips the enclosing outer curly braces from the <code>toString</code>
 representation, which are placed there because the actual representation of
 the schema data is as a Bag-type relation.
 @param schemaString a String representation of the Schema to instantiate,
                     in the form generated by <code>Schema.toString()</code>
 @return Schema instance
 @throws ParserException]]>
      </doc>
    </method>
    <method name="parseSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schemaString" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
    </method>
    <method name="parseConstant" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="constantString" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
    </method>
    <method name="getSchemaWithInputSourceTag" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.ResourceSchema"/>
      <param name="fieldName" type="java.lang.String"/>
      <doc>
      <![CDATA[This method adds FieldSchema of 'input source tag/path' as the first
 field. This will be called only when PigStorage is invoked with
 '-tagFile' or '-tagPath' option and the schema file is present to be
 loaded.

 @param schema
 @param fieldName
 @return ResourceSchema]]>
      </doc>
    </method>
    <method name="getTmpFileCompressorName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getTmpFileStorageObject" return="org.apache.pig.FileInputLoadFunc"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTmpFileStorageClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="setMapredCompressionCodecProps"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="setTmpFileCompressionOnConf"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getStringFromArray" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arr" type="java.lang.String[]"/>
    </method>
    <method name="buildSimpleFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="className" type="java.lang.String"/>
      <param name="types" type="byte[]"/>
    </method>
    <method name="slashisize" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
      <doc>
      <![CDATA[Replace sequences of two slashes ("\\") with one slash ("\")
 (not escaping a slash in grunt is disallowed, but a double slash doesn't get converted
 into a regular slash, so we have to do it instead)
 @param str
 @return the resulting string]]>
      </doc>
    </method>
    <method name="mergeCollection" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="a" type="java.util.Collection"/>
      <param name="b" type="java.util.Collection"/>
    </method>
    <method name="getCompositeStream" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.InputStream"/>
      <param name="properties" type="java.util.Properties"/>
    </method>
    <method name="recomputeProperties"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobConf" type="org.apache.hadoop.mapred.JobConf"/>
      <param name="properties" type="java.util.Properties"/>
      <doc>
      <![CDATA[Method to apply pig properties to JobConf (replaces properties with
 resulting jobConf values).

 @param conf JobConf with appropriate hadoop resource files
 @param properties Pig properties that will override hadoop properties;
 properties might be modified]]>
      </doc>
    </method>
    <method name="getStackStraceStr" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="java.lang.Throwable"/>
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="isLocal" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="substituteVars" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="expr" type="java.lang.String"/>
    </method>
    <method name="depthFirstSearchForFile" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="statusArray" type="org.apache.hadoop.fs.FileStatus[]"/>
      <param name="fileSystem" type="org.apache.hadoop.fs.FileSystem"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Finds a valid path for a file from a FileStatus object.
 @param fileStatus FileStatus object corresponding to a file,
 or a directory.
 @param fileSystem FileSystem in with the file should be found
 @return The first file found
 @throws IOException]]>
      </doc>
    </method>
    <method name="depthFirstSearchForFile" return="org.apache.hadoop.fs.Path"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="statusArray" type="org.apache.hadoop.fs.FileStatus[]"/>
      <param name="fileSystem" type="org.apache.hadoop.fs.FileSystem"/>
      <param name="filter" type="org.apache.hadoop.fs.PathFilter"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Finds a valid path for a file from an array of FileStatus objects.
 @param statusArray Array of FileStatus objects in which to search
 for the file.
 @param fileSystem FileSystem in which to search for the first file.
 @return The first file found.
 @throws IOException]]>
      </doc>
    </method>
    <method name="extractHeapSizeInMB" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.String"/>
    </method>
    <method name="setDefaultTimeZone"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addShutdownHookWithPriority"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="hook" type="java.lang.Runnable"/>
      <param name="priority" type="int"/>
      <doc>
      <![CDATA[Add shutdown hook that runs before the FileSystem cache shutdown happens.

 @param hook code to execute during shutdown
 @param priority Priority over the  FileSystem.SHUTDOWN_HOOK_PRIORITY]]>
      </doc>
    </method>
    <field name="VISIBLE_FILES" type="org.apache.hadoop.fs.PathFilter"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A PathFilter that filters out invisible files.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Class with utility static methods]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.Utils -->
  <!-- start class org.apache.pig.impl.util.WrappedIOException -->
  <class name="WrappedIOException" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="This class was introduced to overcome the limitation that before 
 Java 1.6, {@link IOException} did not have a constructor which took a 
 {@link Throwable} argument. Since Pig code is now compiled with Java 1.6 and 
 {@link EvalFunc} and {@link LoadFunc} user implementations should also use 
 Java 1.6, they can use {@link IOException} instead. From Java 1.6, 
 {@link IOException} has constructors which take a {@link Throwable}
 argument.">
    <constructor name="WrappedIOException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="wrap" return="java.io.IOException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="java.lang.Throwable"/>
    </method>
    <method name="wrap" return="java.io.IOException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="message" type="java.lang.String"/>
      <param name="e" type="java.lang.Throwable"/>
    </method>
    <doc>
    <![CDATA[@deprecated This class was introduced to overcome the limitation that before 
 Java 1.6, {@link IOException} did not have a constructor which took a 
 {@link Throwable} argument. Since Pig code is now compiled with Java 1.6 and 
 {@link EvalFunc} and {@link LoadFunc} user implementations should also use 
 Java 1.6, they can use {@link IOException} instead. From Java 1.6, 
 {@link IOException} has constructors which take a {@link Throwable}
 argument.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.WrappedIOException -->
</package>
<package name="org.apache.pig.impl.util.avro">
  <!-- start class org.apache.pig.impl.util.avro.AvroArrayReader -->
  <class name="AvroArrayReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="AvroArrayReader" type="org.apache.avro.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates new instance of AvroRecordReader.
 @param s The input schema.]]>
      </doc>
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentValue" return="org.apache.avro.generic.GenericData.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Returns current value.
 @return the current value
 @throws IOException when an IO error occurs
 @throws InterruptedException when interrupted]]>
      </doc>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.NullWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isplit" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="tc" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[RecordReader for Avro files]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroArrayReader -->
  <!-- start class org.apache.pig.impl.util.avro.AvroBagWrapper -->
  <class name="AvroBagWrapper" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.DataBag"/>
    <constructor name="AvroBagWrapper" type="org.apache.avro.generic.GenericArray"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create new AvroBagWrapper instance.
 @param a Avro array to wrap in bag]]>
      </doc>
    </constructor>
    <method name="spill" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="size" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSorted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isDistinct" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="addAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.DataBag"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markStale"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stale" type="boolean"/>
    </method>
    <doc>
    <![CDATA[Class that implements the Pig bag interface, wrapping an Avro array.
 Designed to reduce data copying.
 @param <T> Type of objects in Avro array]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroBagWrapper -->
  <!-- start class org.apache.pig.impl.util.avro.AvroMapWrapper -->
  <class name="AvroMapWrapper" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.Map"/>
    <constructor name="AvroMapWrapper" type="java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates a new AvroMapWrapper object from the map object {@m}.
 @param m The map to wrap.]]>
      </doc>
    </constructor>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEmpty" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="containsKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
    <method name="containsValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="value" type="java.lang.Object"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
    <method name="put" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.CharSequence"/>
      <param name="value" type="java.lang.Object"/>
    </method>
    <method name="remove" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Object"/>
    </method>
    <method name="putAll"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="m" type="java.util.Map"/>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="keySet" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="values" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="entrySet" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Wrapper for map objects, so we can translate UTF8 objects to
 Strings if we encounter them.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroMapWrapper -->
  <!-- start class org.apache.pig.impl.util.avro.AvroRecordReader -->
  <class name="AvroRecordReader" extends="org.apache.hadoop.mapreduce.RecordReader"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="AvroRecordReader" type="org.apache.avro.Schema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates new instance of AvroRecordReader.
 @param s The input schema.]]>
      </doc>
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCurrentValue" return="org.apache.avro.generic.GenericData.Record"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
      <doc>
      <![CDATA[Returns current value.
 @return the current value
 @throws IOException when an IO error occurs
 @throws InterruptedException when interrupted]]>
      </doc>
    </method>
    <method name="getCurrentKey" return="org.apache.hadoop.io.NullWritable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isplit" type="org.apache.hadoop.mapreduce.InputSplit"/>
      <param name="tc" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="nextKeyValue" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <doc>
    <![CDATA[RecordReader for Avro files]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroRecordReader -->
  <!-- start class org.apache.pig.impl.util.avro.AvroRecordWriter -->
  <class name="AvroRecordWriter" extends="org.apache.hadoop.mapreduce.RecordWriter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AvroRecordWriter" type="org.apache.hadoop.fs.Path, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Creates new AvroRecordWriter.
 @param s Schema for the files on this output path
 @param o Output path
 @param c Hadoop configuration
 @throws IOException]]>
      </doc>
    </constructor>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="org.apache.hadoop.mapreduce.TaskAttemptContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.hadoop.io.NullWritable"/>
      <param name="value" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="prepareToWrite"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[RecordWriter for Avro objects.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroRecordWriter -->
  <!-- start class org.apache.pig.impl.util.avro.AvroStorageDataConversionUtilities -->
  <class name="AvroStorageDataConversionUtilities" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AvroStorageDataConversionUtilities"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="packIntoAvro" return="org.apache.avro.generic.GenericData.Record"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
      <param name="s" type="org.apache.avro.Schema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Packs a Pig Tuple into an Avro record.
 @param t the Pig tuple to pack into the avro object
 @param s The avro schema for which to determine the type
 @return the avro record corresponding to the input tuple
 @throws IOException]]>
      </doc>
    </method>
    <method name="packIntoAvro" return="org.apache.avro.generic.GenericData.Array"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="db" type="org.apache.pig.data.DataBag"/>
      <param name="s" type="org.apache.avro.Schema"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Packs a Pig DataBag into an Avro array.
 @param db the Pig databad to pack into the avro array
 @param s The avro schema for which to determine the type
 @return the avro array corresponding to the input bag
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Utility classes for AvroStorage; contains static methods
 for converting between Avro and Pig objects.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroStorageDataConversionUtilities -->
  <!-- start class org.apache.pig.impl.util.avro.AvroStorageSchemaConversionUtilities -->
  <class name="AvroStorageSchemaConversionUtilities" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AvroStorageSchemaConversionUtilities"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getPigType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Determines the pig object type of the Avro schema.
 @param s The avro schema for which to determine the type
 @return the byte representing the schema type
 @throws ExecException
 @see org.apache.avro.Schema.Type]]>
      </doc>
    </method>
    <method name="isUnionOfSimpleTypes" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
    </method>
    <method name="avroSchemaToResourceSchema" return="org.apache.pig.ResourceSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <param name="allowRecursiveSchema" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Translates an Avro schema to a Resource Schema (for Pig).
 @param s The avro schema for which to determine the type
 @param allowRecursiveSchema Flag indicating whether to
 throw an error if a recursive schema definition is found
 @throws IOException
 @return the corresponding pig schema]]>
      </doc>
    </method>
    <method name="resourceSchemaToAvroSchema" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rs" type="org.apache.pig.ResourceSchema"/>
      <param name="recordName" type="java.lang.String"/>
      <param name="recordNameSpace" type="java.lang.String"/>
      <param name="definedRecordNames" type="java.util.Map"/>
      <param name="doubleColonsToDoubleUnderscores" type="java.lang.Boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Translated a ResourceSchema to an Avro Schema.
 @param rs Input schema.
 @param recordName Record name
 @param recordNameSpace Namespace
 @param definedRecordNames Map of already defined record names
 to schema objects
 @return the translated schema
 @throws IOException]]>
      </doc>
    </method>
    <method name="isNullableUnion" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <doc>
      <![CDATA[Checks to see if an avro schema is a combination of
 null and another object.
 @param s The object to check
 @return whether it's a nullable union]]>
      </doc>
    </method>
    <method name="removeSimpleUnion" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.avro.Schema"/>
      <doc>
      <![CDATA[Given an input schema that is a union of an avro schema
 and null (or just a union with one type), return the avro schema.
 @param s The input schema object
 @return The non-null part of the union]]>
      </doc>
    </method>
    <method name="newSchemaFromRequiredFieldList" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldSchema" type="org.apache.avro.Schema"/>
      <param name="rfl" type="org.apache.pig.LoadPushDown.RequiredFieldList"/>
      <doc>
      <![CDATA[Takes an Avro Schema and a Pig RequiredFieldList and returns a new schema
 with only the requried fields, or no if the function can't extract only
 those fields. Useful for push down projections.
 @param oldSchema The avro schema from which to extract the schema
 @param rfl the Pig required field list
 @return the new schema, or null]]>
      </doc>
    </method>
    <method name="newSchemaFromRequiredFieldList" return="org.apache.avro.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldSchema" type="org.apache.avro.Schema"/>
      <param name="rfl" type="java.util.List"/>
      <doc>
      <![CDATA[Takes an Avro Schema and a Pig RequiredFieldList and returns a new schema
 with only the required fields, or no if the function can't extract only
 those fields. Useful for push down projections.
 @param oldSchema The avro schema from which to extract the schema
 @param rfl List of required fields
 @return the new schema]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Static methods for converting from Avro Schema object to Pig Schema objects,
 and vice versa.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroStorageSchemaConversionUtilities -->
  <!-- start class org.apache.pig.impl.util.avro.AvroTupleWrapper -->
  <class name="AvroTupleWrapper" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.data.Tuple"/>
    <constructor name="AvroTupleWrapper" type="org.apache.avro.generic.IndexedRecord"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Creates a new AvroTupleWrapper object.
 @param o The object to wrap]]>
      </doc>
    </constructor>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pos" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getPigObject" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <doc>
      <![CDATA[@param o An Avro object to convert to an equivalent type in Pig
 @return Equivalent Pig object]]>
      </doc>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="reference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="int"/>
      <param name="arg1" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toDelimitedString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg0" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="d" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Object that wraps an Avro object in a tuple.
 @param <T> The type of the Avro object]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.impl.util.avro.AvroTupleWrapper -->
</package>
<package name="org.apache.pig.impl.util.hive">
  <!-- start class org.apache.pig.impl.util.hive.HiveUtils -->
  <class name="HiveUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="HiveUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="convertHiveToPig" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
      <param name="oi" type="org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector"/>
      <param name="includedColumns" type="boolean[]"/>
    </method>
    <method name="getPrimaryFromHive" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
      <param name="poi" type="org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector"/>
    </method>
    <method name="getResourceFieldSchema" return="org.apache.pig.ResourceSchema.ResourceFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ti" type="org.apache.hadoop.hive.serde2.typeinfo.TypeInfo"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTypeInfo" return="org.apache.hadoop.hive.serde2.typeinfo.TypeInfo"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.pig.ResourceSchema.ResourceFieldSchema"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="createObjectInspector" return="org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="info" type="org.apache.hadoop.hive.serde2.typeinfo.TypeInfo"/>
    </method>
    <method name="getConstantObjectInspector" return="org.apache.hadoop.hive.serde2.objectinspector.ConstantObjectInspector"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.hive.HiveUtils -->
  <!-- start class org.apache.pig.impl.util.hive.HiveUtils.Field -->
  <class name="HiveUtils.Field" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.hive.serde2.objectinspector.StructField"/>
    <constructor name="Field" type="java.lang.String, org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFieldName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldObjectInspector" return="org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldID" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldComment" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.impl.util.hive.HiveUtils.Field -->
</package>
<package name="org.apache.pig.newplan">
  <!-- start class org.apache.pig.newplan.BaseOperatorPlan -->
  <class name="BaseOperatorPlan" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.newplan.OperatorPlan"/>
    <constructor name="BaseOperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BaseOperatorPlan" type="org.apache.pig.newplan.BaseOperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get number of nodes in the plan.]]>
      </doc>
    </method>
    <method name="getSources" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all operators in the plan that have no predecessors.
 @return all operators in the plan that have no predecessors, or
 an empty list if the plan is empty.]]>
      </doc>
    </method>
    <method name="getSinks" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all operators in the plan that have no successors.
 @return all operators in the plan that have no successors, or
 an empty list if the plan is empty.]]>
      </doc>
    </method>
    <method name="getPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators immediately before it in the
 plan.
 @param op operator to fetch predecessors of
 @return list of all operators imeediately before op, or an empty list
 if op is a root.]]>
      </doc>
    </method>
    <method name="getSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators immediately after it.
 @param op operator to fetch successors of
 @return list of all operators imeediately after op, or an empty list
 if op is a leaf.]]>
      </doc>
    </method>
    <method name="getSoftLinkPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators softly immediately before it in the
 plan.
 @param op operator to fetch predecessors of
 @return list of all operators immediately before op, or an empty list
 if op is a root.]]>
      </doc>
    </method>
    <method name="getSoftLinkSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators softly immediately after it.
 @param op operator to fetch successors of
 @return list of all operators immediately after op, or an empty list
 if op is a leaf.]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Add a new operator to the plan.  It will not be connected to any
 existing operators.
 @param op operator to add]]>
      </doc>
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Remove an operator from the plan.
 @param op Operator to be removed
 @throws FrontendException if the remove operation attempts to 
 remove an operator that is still connected to other operators.]]>
      </doc>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="fromPos" type="int"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <param name="toPos" type="int"/>
      <doc>
      <![CDATA[Connect two operators in the plan, controlling which position in the
 edge lists that the from and to edges are placed.
 @param from Operator edge will come from
 @param fromPos Position in the array for the from edge
 @param to Operator edge will go to
 @param toPos Position in the array for the to edge]]>
      </doc>
    </method>
    <method name="isConnected" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Check if given two operators are directly connected.
 @param from Operator edge will come from
 @param to Operator edge will go to]]>
      </doc>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Connect two operators in the plan.
 @param from Operator edge will come from
 @param to Operator edge will go to]]>
      </doc>
    </method>
    <method name="createSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Create an soft edge between two nodes.
 @param from Operator dependent upon
 @param to Operator having the dependency]]>
      </doc>
    </method>
    <method name="removeSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Remove an soft edge
 @param from Operator dependent upon
 @param to Operator having the dependency]]>
      </doc>
    </method>
    <method name="disconnect" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Disconnect two operators in the plan.
 @param from Operator edge is coming from
 @param to Operator edge is going to
 @return pair of positions, indicating the position in the from and
 to arrays.
 @throws FrontendException if the two operators aren't connected.]]>
      </doc>
    </method>
    <method name="getOperators" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="p1" type="org.apache.pig.newplan.OperatorPlan"/>
      <param name="p2" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="replace"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOperator" type="org.apache.pig.newplan.Operator"/>
      <param name="newOperator" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="removeAndReconnect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operatorToRemove" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="insertBetween"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pred" type="org.apache.pig.newplan.Operator"/>
      <param name="operatorToInsert" type="org.apache.pig.newplan.Operator"/>
      <param name="succ" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="pathExists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[A method to check if there is a path from a given node to another node
 @param from the start node for checking
 @param to the end node for checking
 @return true if path exists, false otherwise]]>
      </doc>
    </method>
    <method name="moveTree"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="root" type="org.apache.pig.newplan.Operator"/>
      <param name="newPlan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Move everything below a given operator to the new operator plan.  The specified operator will
 be moved and will be the root of the new operator plan
 @param root Operator to move everything after
 @param newPlan new operator plan to move things into
 @throws PlanException]]>
      </doc>
    </method>
    <method name="trimBelow"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Trim everything below a given operator.  The specified operator will
 NOT be removed.
 @param op Operator to trim everything after.
 @throws FrontendException]]>
      </doc>
    </method>
    <field name="ops" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="fromEdges" type="org.apache.pig.newplan.PlanEdge"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="toEdges" type="org.apache.pig.newplan.PlanEdge"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="softFromEdges" type="org.apache.pig.newplan.PlanEdge"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="softToEdges" type="org.apache.pig.newplan.PlanEdge"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.BaseOperatorPlan -->
  <!-- start class org.apache.pig.newplan.DependencyOrderWalker -->
  <class name="DependencyOrderWalker" extends="org.apache.pig.newplan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DependencyOrderWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="doAllPredecessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.newplan.Operator"/>
      <param name="seen" type="java.util.Set"/>
      <param name="fifo" type="java.util.Collection"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A walker to walk graphs in dependency order.  It is guaranteed that a node
 will not be visited until all of its predecessors have been visited.  This
 is equivalent to doing a topilogical sort on the graph and then visiting
 the nodes in order.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.DependencyOrderWalker -->
  <!-- start class org.apache.pig.newplan.DepthFirstWalker -->
  <class name="DepthFirstWalker" extends="org.apache.pig.newplan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DepthFirstWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws FrontendException if an error is encountered while walking.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Do a depth first traversal of the graph.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.DepthFirstWalker -->
  <!-- start class org.apache.pig.newplan.DotPlanDumper -->
  <class name="DotPlanDumper" extends="org.apache.pig.newplan.PlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotPlanDumper" type="org.apache.pig.newplan.BaseOperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DotPlanDumper" type="org.apache.pig.newplan.BaseOperatorPlan, java.io.PrintStream, boolean, java.util.Set, java.util.Set, java.util.Set"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="dumpMultiInputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="dumpMultiOutputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
    </method>
    <method name="dumpNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
    </method>
    <method name="dumpOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="dumpEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="suc" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="makeDumper" return="org.apache.pig.newplan.PlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Used to generate the label for an operator.
 @param op operator to dump]]>
      </doc>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Used to generate the the attributes of a node
 @param op operator]]>
      </doc>
    </method>
    <method name="dumpInvisibleOperators"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="reverse" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
    </method>
    <field name="mSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mMultiInputSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mMultiOutputSubgraphs" type="java.util.Set"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class puts everything that is needed to dump a plan in a
 format readable by graphviz's dot algorithm. Out of the box it does
 not print any nested plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.DotPlanDumper -->
  <!-- start class org.apache.pig.newplan.FilterExtractor -->
  <class name="FilterExtractor" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FilterExtractor" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan logical plan corresponding the filter's comparison condition
 @param partitionCols list of partition columns of the table which is
 being loaded in the LOAD statement which is input to the filter]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFilteredPlan" return="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return new filtered plan after pushdownable filters are removed]]>
      </doc>
    </method>
    <method name="canPushDown" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return true if pushdown is possible]]>
      </doc>
    </method>
    <method name="isFilterRemovable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the filterRemovable]]>
      </doc>
    </method>
    <method name="getPushDownExpression" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the push condition from the filter]]>
      </doc>
    </method>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="addToFilterPlan" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="binExpr" type="org.apache.pig.newplan.logical.expression.BinaryExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="unaryExpr" type="org.apache.pig.newplan.logical.expression.UnaryExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.BinaryExpression"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="unaryOp" type="org.apache.pig.newplan.logical.expression.UnaryExpression"/>
    </method>
    <method name="getExpression" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getExpression" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.BinaryExpression"/>
      <param name="opType" type="org.apache.pig.Expression.OpType"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getExpression" return="org.apache.pig.Expression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="unaryOp" type="org.apache.pig.newplan.logical.expression.UnaryExpression"/>
      <param name="opType" type="org.apache.pig.Expression.OpType"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="LOG" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="originalPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[We visit this plan to create the filteredPlan]]>
      </doc>
    </field>
    <field name="filteredPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Plan that is created after all pushable filters are removed]]>
      </doc>
    </field>
    <field name="pushdownExprPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Plan that can be pushed down]]>
      </doc>
    </field>
    <field name="filterExpr" type="org.apache.pig.newplan.logical.expression.LogicalExpression"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Final filterExpr after we are done]]>
      </doc>
    </field>
    <field name="pushdownExpr" type="org.apache.pig.Expression"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@{code Expression} to pushdown]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Extracts filter predicates for interfaces implementing {@code LoadPredicatePushdown}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.FilterExtractor -->
  <!-- start class org.apache.pig.newplan.FilterExtractor.KeyState -->
  <class name="FilterExtractor.KeyState" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="KeyState"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.newplan.FilterExtractor.KeyState -->
  <!-- start class org.apache.pig.newplan.Operator -->
  <class name="Operator" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Operator" type="java.lang.String, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Accept a visitor at this node in the graph.
 @param v Visitor to accept.
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLocation" return="org.apache.pig.parser.SourceLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loc" type="org.apache.pig.parser.SourceLocation"/>
    </method>
    <method name="getPlan" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the plan associated with this operator.
 @return plan]]>
      </doc>
    </method>
    <method name="annotate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="val" type="java.lang.Object"/>
      <doc>
      <![CDATA[Add an annotation to a node in the plan.
 @param key string name of this annotation
 @param val value, as an Object]]>
      </doc>
    </method>
    <method name="getAnnotation" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <doc>
      <![CDATA[Look to see if a node is annotated.
 @param key string name of annotation to look for
 @return value of the annotation, as an Object, or null if the key is
 not present in the map.]]>
      </doc>
    </method>
    <method name="removeAnnotation" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <doc>
      <![CDATA[Remove an annotation
 @param key the key of the annotation
 @return the original value of the annotation]]>
      </doc>
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operator" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This is like a shallow equals comparison.
 It returns true if two operators have equivalent properties even if they are 
 different objects. Here properties mean equivalent plan and equivalent name.
 @param operator
 @return true if two object have equivalent properties, else false]]>
      </doc>
    </method>
    <field name="location" type="org.apache.pig.parser.SourceLocation"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="name" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plan" type="org.apache.pig.newplan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="annotations" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="hashPrime" type="int"
      transient="false" volatile="false"
      static="false" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.Operator -->
  <!-- start interface org.apache.pig.newplan.OperatorPlan -->
  <interface name="OperatorPlan"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="size" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get number of nodes in the plan.
 @return number of nodes in the plan]]>
      </doc>
    </method>
    <method name="getSources" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all operators in the plan that have no predecessors.
 @return all operators in the plan that have no predecessors, or
 an empty list if the plan is empty.]]>
      </doc>
    </method>
    <method name="getSinks" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all operators in the plan that have no successors.
 @return all operators in the plan that have no successors, or
 an empty list if the plan is empty.]]>
      </doc>
    </method>
    <method name="getPredecessors" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators immediately before it in the
 plan.
 @param op operator to fetch predecessors of
 @return list of all operators immediately before op, or an empty list
 if op is a root.]]>
      </doc>
    </method>
    <method name="getSuccessors" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators immediately after it.
 @param op operator to fetch successors of
 @return list of all operators immediately after op, or an empty list
 if op is a leaf.]]>
      </doc>
    </method>
    <method name="getSoftLinkPredecessors" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators softly immediately before it in the
 plan.
 @param op operator to fetch predecessors of
 @return list of all operators immediately before op, or an empty list
 if op is a root.]]>
      </doc>
    </method>
    <method name="getSoftLinkSuccessors" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[For a given operator, get all operators softly immediately after it.
 @param op operator to fetch successors of
 @return list of all operators immediately after op, or an empty list
 if op is a leaf.]]>
      </doc>
    </method>
    <method name="add"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Add a new operator to the plan.  It will not be connected to any
 existing operators.
 @param op operator to add]]>
      </doc>
    </method>
    <method name="remove"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Remove an operator from the plan.
 @param op Operator to be removed
 @throws FrontendException if the remove operation attempts to 
 remove an operator that is still connected to other operators.]]>
      </doc>
    </method>
    <method name="connect"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="fromPos" type="int"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <param name="toPos" type="int"/>
      <doc>
      <![CDATA[Connect two operators in the plan, controlling which position in the
 edge lists that the from and to edges are placed.
 @param from Operator edge will come from
 @param fromPos Position in the array for the from edge
 @param to Operator edge will go to
 @param toPos Position in the array for the to edge]]>
      </doc>
    </method>
    <method name="connect"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Connect two operators in the plan.
 @param from Operator edge will come from
 @param to Operator edge will go to]]>
      </doc>
    </method>
    <method name="createSoftLink"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Create an soft edge between two nodes.
 @param from Operator dependent upon
 @param to Operator having the dependency]]>
      </doc>
    </method>
    <method name="removeSoftLink"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Remove an soft edge
 @param from Operator dependent upon
 @param to Operator having the dependency]]>
      </doc>
    </method>
    <method name="disconnect" return="org.apache.pig.impl.util.Pair"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Disconnect two operators in the plan.
 @param from Operator edge is coming from
 @param to Operator edge is going to
 @return pair of positions, indicating the position in the from and
 to arrays.
 @throws FrontendException if the two operators aren't connected.]]>
      </doc>
    </method>
    <method name="getOperators" return="java.util.Iterator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get an iterator of all operators in this plan
 @return an iterator of all operators in this plan]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This is like a shallow comparison.
 Two plans are equal if they have equivalent operators and equivalent 
 structure.
 @param other  object to compare
 @return boolean if both the plans are equivalent
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="replace"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOperator" type="org.apache.pig.newplan.Operator"/>
      <param name="newOperator" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This method replace the oldOperator with the newOperator, make all connection
 to the new operator in the place of old operator
 @param oldOperator operator to be replaced
 @param newOperator operator to replace
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="removeAndReconnect"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operatorToRemove" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This method remove a node operatorToRemove. It also Connect all its successors to 
 predecessor/connect all it's predecessors to successor
 @param operatorToRemove operator to remove
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="insertBetween"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pred" type="org.apache.pig.newplan.Operator"/>
      <param name="operatorToInsert" type="org.apache.pig.newplan.Operator"/>
      <param name="succ" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This method insert node operatorToInsert between pred and succ. Both pred and succ cannot be null
 @param pred predecessor of inserted node after this method
 @param operatorToInsert operato to insert
 @param succ successor of inserted node after this method
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="pathExists" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.Operator"/>
      <param name="store" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[check if there is a path in the plan graph between the load operator to the store operator.
 @param load load operator
 @param store store operator
 @return true if yes, no otherwise.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface that defines graph operations on plans.  Plans are modeled as
 graphs with restrictions on the types of connections and operations allowed.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.newplan.OperatorPlan -->
  <!-- start class org.apache.pig.newplan.OperatorSubPlan -->
  <class name="OperatorSubPlan" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.newplan.OperatorPlan"/>
    <constructor name="OperatorSubPlan" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getBasePlan" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="fromPos" type="int"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <param name="toPos" type="int"/>
    </method>
    <method name="connect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="disconnect" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getSinks" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOperators" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getSources" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="createSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="removeSoftLink"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getSoftLinkPredecessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getSoftLinkSuccessors" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="insertBetween"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pred" type="org.apache.pig.newplan.Operator"/>
      <param name="operatorToInsert" type="org.apache.pig.newplan.Operator"/>
      <param name="succ" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="removeAndReconnect"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operatorToRemove" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="replace"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oldOperator" type="org.apache.pig.newplan.Operator"/>
      <param name="newOperator" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="pathExists" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
    </method>
    <doc>
    <![CDATA[Class to represent a view of a plan. The view contains a subset of the plan.
 All the operators returned from the view are the same objects to the operators
 in its base plan. It is used to represent match results.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.OperatorSubPlan -->
  <!-- start class org.apache.pig.newplan.PartitionFilterExtractor -->
  <class name="PartitionFilterExtractor" extends="org.apache.pig.newplan.FilterExtractor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionFilterExtractor" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan logical plan corresponding the filter's comparison condition
 @param partitionCols list of partition columns of the table which is
 being loaded in the LOAD statement which is input to the filter]]>
      </doc>
    </constructor>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.BinaryExpression"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="unaryOp" type="org.apache.pig.newplan.logical.expression.UnaryExpression"/>
    </method>
    <doc>
    <![CDATA[This is a rewrite of {@code PColFilterExtractor}
 Extracts partition filters for interfaces implementing LoadMetaData]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.PartitionFilterExtractor -->
  <!-- start class org.apache.pig.newplan.PlanDumper -->
  <class name="PlanDumper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanDumper" type="org.apache.pig.newplan.BaseOperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setVerbose"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="isVerbose" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="dump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is the public interface. Dump writes the plan and nested
 plans to the stream.]]>
      </doc>
    </method>
    <method name="makeDumper" return="org.apache.pig.newplan.PlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
      <doc>
      <![CDATA[makeDumper is a factory method. Used by subclasses to specify
 what dumper should handle the nested plan.
 @param plan Plan that the new dumper should handle
 @return the dumper for plan]]>
      </doc>
    </method>
    <method name="dumpOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Will be called to dump a simple operator
 @param op the operator to be dumped]]>
      </doc>
    </method>
    <method name="dumpMultiInputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
      <doc>
      <![CDATA[Will be called when an operator has nested plans, which are
 connected to one of the multiple inputs.
 @param op the nested operator
 @param plans a map of input operator to connected nested plan]]>
      </doc>
    </method>
    <method name="dumpMultiOutputNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
      <doc>
      <![CDATA[Will be called for nested operators, where the plans represent
 how the output of the operator is processed. 
 @param op the nested operator
 @param plans a collection of sub plans.]]>
      </doc>
    </method>
    <method name="dumpNestedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="plans" type="java.util.Collection"/>
      <doc>
      <![CDATA[Will be called for nested operators. The operators are not
 specifically connected to any input or output operators of E
 @param op the nested operator
 @param plans a collection of sub plans.]]>
      </doc>
    </method>
    <method name="dumpEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="suc" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Will be called to dump the edges of the plan. Each edge results
 in one call.
 @param op tail of the edge
 @param suc head of the edge]]>
      </doc>
    </method>
    <method name="getMultiInputNestedPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested plans, which are
 connected to specific input operators.
 @param op operator
 @return Map describing the input to nested plan relationship.]]>
      </doc>
    </method>
    <method name="getMultiOutputNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested output plans

 @param op operator
 @return Map describing the input to nested plan relationship.]]>
      </doc>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Used to determine if an operator has nested plans (without
 connections to in- or output operators.
 @param op operator
 @return Collection of nested plans.]]>
      </doc>
    </method>
    <method name="join"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="sep" type="java.lang.String"/>
      <param name="strings" type="java.lang.String[]"/>
      <doc>
      <![CDATA[Helper function to print a string array.
 @param sep Separator
 @param strings Array to print]]>
      </doc>
    </method>
    <field name="ps" type="java.io.PrintStream"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isVerbose" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class dumps a nested plan to a print stream. It does not walk
 the graph in any particular fashion it merely iterates over all
 operators and edges and calls a corresponding dump function. If a
 node of the plan has nested plans this will be dumped when the
 node is handled.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.PlanDumper -->
  <!-- start class org.apache.pig.newplan.PlanEdge -->
  <class name="PlanEdge" extends="org.apache.pig.impl.util.MultiMap"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanEdge"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PlanEdge" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param size Initial size of the map]]>
      </doc>
    </constructor>
    <method name="put"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.newplan.Operator"/>
      <param name="value" type="org.apache.pig.newplan.Operator"/>
      <param name="pos" type="int"/>
      <doc>
      <![CDATA[Add an element to the map.
 @param key The key to store the value under.  If the key already
 exists the value will be added to the collection for that key, it
 will not replace the existing value (as in a standard map).
 @param value value to store.
 @param pos position in the arraylist to store the new value at.
 Positions are zero based.]]>
      </doc>
    </method>
    <method name="removeWithPosition" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="org.apache.pig.newplan.Operator"/>
      <param name="value" type="org.apache.pig.newplan.Operator"/>
      <doc>
      <![CDATA[Remove one value from an existing key and return which position in
 the arraylist the value was at..  If that is the last value
 for the key, then remove the key too.
 @param key Key to remove the value from.
 @param value Value to remove.
 @return A pair containing the value being removed and an integer
 indicating the position, or null if the key or value does
 not exist.  Positions are zero based.]]>
      </doc>
    </method>
    <method name="shallowClone" return="org.apache.pig.newplan.PlanEdge"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.PlanEdge -->
  <!-- start class org.apache.pig.newplan.PlanVisitor -->
  <class name="PlanVisitor" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan OperatorPlan this visitor will visit.
 @param walker PlanWalker this visitor will use to traverse the plan.]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Entry point for visiting the plan.
 @throws VisitorException if an error is encountered while visiting.]]>
      </doc>
    </method>
    <method name="getPlan" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="pushWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="walker" type="org.apache.pig.newplan.PlanWalker"/>
      <doc>
      <![CDATA[Push the current walker onto the stack of saved walkers and begin using
 the newly passed walker as the current walker.
 @param walker new walker to set as the current walker.]]>
      </doc>
    </method>
    <method name="popWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Pop the next to previous walker off of the stack and set it as the current
 walker.  This will drop the reference to the current walker.
 @throws VisitorException if there are no more walkers on the stack.  In
 this case the current walker is not reset.]]>
      </doc>
    </method>
    <field name="DEFAULT_SCOPE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plan" type="org.apache.pig.newplan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentWalker" type="org.apache.pig.newplan.PlanWalker"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Guaranteed to always point to the walker currently being used.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[A visitor mechanism for navigating and operating on a plan of 
 Operators.  This class contains the logic to traverse the plan.  It does
 not visit individual nodes.  That is left to implementing classes
 (such as LOVisitor).]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.PlanVisitor -->
  <!-- start class org.apache.pig.newplan.PlanWalker -->
  <class name="PlanWalker" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="walk"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.  This can't be set in
 the constructor because the visitor is constructing this class, and does
 not yet have a 'this' pointer to send as an argument.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
      <doc>
      <![CDATA[Return a new instance of this same type of walker for a subplan.
 When this method is called the same type of walker with the
 provided plan set as the plan, must be returned.  This can then be
 used to walk subplans.  This allows abstract visitors to clone
 walkers without knowning the type of walker their subclasses used.
 @param plan Plan for the new walker.
 @return Instance of the same type of walker with plan set to plan.]]>
      </doc>
    </method>
    <method name="getPlan" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
      <doc>
      <![CDATA[Set the plan for this walker to operate on.
 @param plan to walk]]>
      </doc>
    </method>
    <field name="plan" type="org.apache.pig.newplan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.PlanWalker -->
  <!-- start class org.apache.pig.newplan.PredicatePushDownFilterExtractor -->
  <class name="PredicatePushDownFilterExtractor" extends="org.apache.pig.newplan.FilterExtractor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PredicatePushDownFilterExtractor" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="checkPushDown" return="org.apache.pig.newplan.FilterExtractor.KeyState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.BinaryExpression"/>
    </method>
    <method name="isSupportedOpType" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="unaryOp" type="org.apache.pig.newplan.logical.expression.UnaryExpression"/>
    </method>
    <doc>
    <![CDATA[We traverse the expression plan bottom up and separate it into two plans
 - pushdownExprPlan, plan that can be pushed down to the loader and
 - filterExprPlan, remaining plan that needs to be evaluated by pig

 If the predicate is not removable then filterExprPlan will not have
 the pushdownExprPlan removed.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.PredicatePushDownFilterExtractor -->
  <!-- start class org.apache.pig.newplan.ReverseDependencyOrderWalker -->
  <class name="ReverseDependencyOrderWalker" extends="org.apache.pig.newplan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReverseDependencyOrderWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="doAllSuccessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.newplan.Operator"/>
      <param name="seen" type="java.util.Set"/>
      <param name="fifo" type="java.util.Collection"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Visit a plan in the reverse of the dependency order.  That is, every node
 after every node that depends on it is visited.  Thus this is equivalent to
 doing a reverse topilogical sort on the graph and then visiting it in order.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.ReverseDependencyOrderWalker -->
  <!-- start class org.apache.pig.newplan.ReverseDependencyOrderWalkerWOSeenChk -->
  <class name="ReverseDependencyOrderWalkerWOSeenChk" extends="org.apache.pig.newplan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ReverseDependencyOrderWalkerWOSeenChk" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 @param visitor Visitor this walker is being used by.
 @throws VisitorException if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="doAllSuccessors"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="node" type="org.apache.pig.newplan.Operator"/>
      <param name="fifo" type="java.util.Collection"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Visit a plan in the reverse of the dependency order.  That is, every node
 after every node that depends on it is visited.  Thus this is equivalent to
 doing a reverse topilogical sort on the graph and then visiting it in order.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.ReverseDependencyOrderWalkerWOSeenChk -->
  <!-- start class org.apache.pig.newplan.SubtreeDependencyOrderWalker -->
  <class name="SubtreeDependencyOrderWalker" extends="org.apache.pig.newplan.DependencyOrderWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SubtreeDependencyOrderWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SubtreeDependencyOrderWalker" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.Operator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.SubtreeDependencyOrderWalker -->
</package>
<package name="org.apache.pig.newplan.logical">
  <!-- start class org.apache.pig.newplan.logical.DotLOPrinter -->
  <class name="DotLOPrinter" extends="org.apache.pig.newplan.DotPlanDumper"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DotLOPrinter" type="org.apache.pig.newplan.BaseOperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="makeDumper" return="org.apache.pig.newplan.DotPlanDumper"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
      <param name="ps" type="java.io.PrintStream"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getAttributes" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getMultiInputNestedPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getNestedPlans" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="reverse" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.BaseOperatorPlan"/>
    </method>
    <doc>
    <![CDATA[This class can print a logical plan in the DOT format. It uses
 clusters to illustrate nesting. If "verbose" is off, it will skip
 any nesting.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.DotLOPrinter -->
  <!-- start class org.apache.pig.newplan.logical.Util -->
  <class name="Util" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Util"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="translateSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="translateFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"/>
    </method>
    <method name="translateSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <doc>
      <![CDATA[This function translates the new LogicalSchema into old Schema format required
 by PhysicalOperators
 @param schema LogicalSchema to be converted to Schema
 @return Schema that is converted from LogicalSchema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="fixSchemaAddTupleInBag" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sch" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[If schema argument has fields where a bag does not contain a tuple schema,
 it inserts a tuple schema. It does so for all inner levels.
 eg bag({int}) => bag({(int)})
 @param sch
 @return modified schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="translateFieldSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema.FieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
    </method>
    <method name="addForEachAfter" return="org.apache.pig.newplan.logical.relational.LOForEach"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <param name="branch" type="int"/>
      <param name="columnsToDrop" type="java.util.Set"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getLogicalRelationalOperators" return="java.util.LinkedList"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="opClass" type="java.lang.Class"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Returns a LinkedList of operators contained within the physical plan
 which implement the supplied class, in dependency order. Returns an empty
 LinkedList of no such operators exist.
 @param plan
 @param opClass
 @return a LinkedList of operators contained within the plan which
         implement the supplied class; empty if no such ops exist.
 @throws FrontendException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.Util -->
</package>
<package name="org.apache.pig.newplan.logical.expression">
  <!-- start class org.apache.pig.newplan.logical.expression.AddExpression -->
  <class name="AddExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AddExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Add Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.AddExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.AllSameExpressionVisitor -->
  <class name="AllSameExpressionVisitor" extends="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AllSameExpressionVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="execute"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Method to call on every node in the logical expression plan.
 @param op Node that is currently being visited.]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="andExpr" type="org.apache.pig.newplan.logical.expression.AndExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="exp" type="org.apache.pig.newplan.logical.expression.OrExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="equal" type="org.apache.pig.newplan.logical.expression.EqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="constant" type="org.apache.pig.newplan.logical.expression.ConstantExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.newplan.logical.expression.CastExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="greaterThanExpression" type="org.apache.pig.newplan.logical.expression.GreaterThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lessThanExpression" type="org.apache.pig.newplan.logical.expression.LessThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LessThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.IsNullExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NegativeExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.AddExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.SubtractExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MultiplyExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ModExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.DivideExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MapLookupExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.BinCondExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.UserFuncExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="derefenceExpression" type="org.apache.pig.newplan.logical.expression.DereferenceExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.RegexExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.AllSameExpressionVisitor -->
  <!-- start class org.apache.pig.newplan.logical.expression.AndExpression -->
  <class name="AndExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AndExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Boolean and expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.AndExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.BinaryExpression -->
  <class name="BinaryExpression" extends="org.apache.pig.newplan.logical.expression.LogicalExpression"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinaryExpression" type="java.lang.String, org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param name of the operator
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="getLhs" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the left hand side of this binary expression.
 @return expression on the left hand side
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getRhs" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the right hand side of this binary expression.
 @return expression on the right hand side
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Superclass for all binary expressions]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.BinaryExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.BinCondExpression -->
  <class name="BinCondExpression" extends="org.apache.pig.newplan.logical.expression.LogicalExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BinCondExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the
 left and right hand side operators and the condition operator
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="getCondition" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Returns the operator which handles this condition
 @return expression which handles the condition
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getLhs" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the left hand side of this expression.
 @return expression on the left hand side
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getRhs" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the right hand side of this expression.
 @return expression on the right hand side
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.BinCondExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.CastExpression -->
  <class name="CastExpression" extends="org.apache.pig.newplan.logical.expression.UnaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CastExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spec" type="org.apache.pig.FuncSpec"/>
      <doc>
      <![CDATA[Set the <code>FuncSpec</code> that performs the casting functionality
 @param spec the <code>FuncSpec</code> that does the casting]]>
      </doc>
    </method>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the <code>FuncSpec</code> that performs the casting functionality
 @return the <code>FuncSpec</code> that does the casting]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.CastExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ColumnExpression -->
  <class name="ColumnExpression" extends="org.apache.pig.newplan.logical.expression.LogicalExpression"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnExpression" type="java.lang.String, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param name of the operator
 @param plan LogicalExpressionPlan this column expression is part of]]>
      </doc>
    </constructor>
    <doc>
    <![CDATA[Super class for all column expressions, including projection, constants, and deferences.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ColumnExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ConstantExpression -->
  <class name="ConstantExpression" extends="org.apache.pig.newplan.logical.expression.ColumnExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantExpression" type="org.apache.pig.newplan.OperatorPlan, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Adds expression to the plan 
 @param plan LogicalExpressionPlan this constant is a part of.
 @param val Value of this constant.]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the value of this constant.
 @return value of the constant]]>
      </doc>
    </method>
    <method name="setValue"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="inheritSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A constant]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ConstantExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.DereferenceExpression -->
  <class name="DereferenceExpression" extends="org.apache.pig.newplan.logical.expression.ColumnExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DereferenceExpression" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DereferenceExpression" type="org.apache.pig.newplan.OperatorPlan, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="DereferenceExpression" type="org.apache.pig.newplan.OperatorPlan, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setRawColumns"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cols" type="java.util.List"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="getBagColumns" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setBagColumns"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="columns" type="java.util.List"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getReferredExpression" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getRawColumns" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[get one or elements out of a tuple or a bag
 
 in case of Tuple( a#2:int, b#3:bag{ b_a#4:int, b_b#5:float }, c#6:int ) # 1
 (the number after # represents the uid)
 
 Dereference ( 0 ) --> a:int
 - dereference of single column in a tuple gives the field
 
 Dereference ( 0,2 ) --> Tuple(a#2:int, c#6:int) #7 
 - dereference of more than one column gives a tuple 
 
 Dereference ( 1 ) --> Dereference ( 1 ) --> b:bag{b_b#5:float}#8 
 - dereference of a bag gives a bag]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.DereferenceExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.DivideExpression -->
  <class name="DivideExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DivideExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Divide Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.DivideExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.EqualExpression -->
  <class name="EqualExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EqualExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Equality test expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.EqualExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ExpToPhyTranslationVisitor -->
  <class name="ExpToPhyTranslationVisitor" extends="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExpToPhyTranslationVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <constructor name="ExpToPhyTranslationVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getPhysicalPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.AndExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.OrExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.EqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.GreaterThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LessThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LessThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MapLookupExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ConstantExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.CastExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.IsNullExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NegativeExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.AddExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.RegexExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.SubtractExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MultiplyExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.DivideExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ModExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.BinCondExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.UserFuncExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.DereferenceExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="currentOp" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="logToPhyMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentPlans" type="java.util.Deque"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="nodeGen" type="org.apache.pig.impl.plan.NodeIdGenerator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pc" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ExpToPhyTranslationVisitor -->
  <!-- start class org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression -->
  <class name="GreaterThanEqualExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GreaterThanEqualExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.GreaterThanExpression -->
  <class name="GreaterThanExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GreaterThanExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.GreaterThanExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.IsNullExpression -->
  <class name="IsNullExpression" extends="org.apache.pig.newplan.logical.expression.UnaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IsNullExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.IsNullExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.LessThanEqualExpression -->
  <class name="LessThanEqualExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LessThanEqualExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.LessThanEqualExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.LessThanExpression -->
  <class name="LessThanExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LessThanExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.LessThanExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.LogicalExpression -->
  <class name="LogicalExpression" extends="org.apache.pig.newplan.Operator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalExpression" type="java.lang.String, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param name of the operator
 @param plan LogicalExpressionPlan this is part of]]>
      </doc>
    </constructor>
    <method name="getNextUid" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetNextUid"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="hasFieldSchema" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is a convenience method to avoid the side-effectful nature of getFieldSchema().
 It simply returns whether or not fieldSchema is currently null.]]>
      </doc>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the field schema for the output of this expression operator.  This does
 not merely return the field schema variable.  If schema is not yet set, this
 will attempt to construct it.  Therefore it is abstract since each
 operator will need to construct its field schema differently.
 @return the FieldSchema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="resetFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the data type for this expression.
 @return data type, one of the static bytes of DataType]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="neverUseForRealSetFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Create the deep copy of this expression and add that into the passed
 LogicalExpressionPlan Return the copy of this expression with updated
 logical expression plan.
 @param lgExpPlan LogicalExpressionPlan in which this expression will be added.
 @return LogicalExpression with its own logical expression plan.
 @throws IOException.]]>
      </doc>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Erase all cached uid, regenerate uid when we regenerating schema.
 This process currently only used in ImplicitSplitInsert, which will
 insert split and invalidate some uids in plan]]>
      </doc>
    </method>
    <field name="fieldSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="uidOnlyFieldSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Logical representation of expression operators.  Expression operators have
 a data type and a uid.  Uid is a unique id for each expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.LogicalExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.LogicalExpressionPlan -->
  <class name="LogicalExpressionPlan" extends="org.apache.pig.newplan.BaseOperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalExpressionPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="merge" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <doc>
      <![CDATA[Merge all nodes in lgExpPlan, keep the connections
 @param lgExpPlan plan to merge
 @return sources of the merged plan]]>
      </doc>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A plan containing LogicalExpressionOperators.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.LogicalExpressionPlan -->
  <!-- start class org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor -->
  <class name="LogicalExpressionVisitor" extends="org.apache.pig.newplan.PlanVisitor"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalExpressionVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.AndExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.OrExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.EqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ConstantExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.CastExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.GreaterThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LessThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LessThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NotExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.IsNullExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.NegativeExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.AddExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.SubtractExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MultiplyExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ModExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.DivideExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.MapLookupExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.BinCondExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.UserFuncExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.DereferenceExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.RegexExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.ScalarExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A visitor for expression plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor -->
  <!-- start class org.apache.pig.newplan.logical.expression.MapLookupExpression -->
  <class name="MapLookupExpression" extends="org.apache.pig.newplan.logical.expression.ColumnExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapLookupExpression" type="org.apache.pig.newplan.OperatorPlan, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getMap" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getLookupKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.MapLookupExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ModExpression -->
  <class name="ModExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ModExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Mod Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ModExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.MultiplyExpression -->
  <class name="MultiplyExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MultiplyExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Multiply Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.MultiplyExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.NegativeExpression -->
  <class name="NegativeExpression" extends="org.apache.pig.newplan.logical.expression.UnaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NegativeExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.NegativeExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.NotEqualExpression -->
  <class name="NotEqualExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NotEqualExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[NotEquality test expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.NotEqualExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.NotExpression -->
  <class name="NotExpression" extends="org.apache.pig.newplan.logical.expression.UnaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NotExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.NotExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.OrExpression -->
  <class name="OrExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OrExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Boolean OR Expression]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.OrExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ProjectExpression -->
  <class name="ProjectExpression" extends="org.apache.pig.newplan.logical.expression.ColumnExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectExpression" type="org.apache.pig.newplan.OperatorPlan, int, int, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Adds projection to the plan.
 @param plan LogicalExpressionPlan this projection will be a part of
 @param inputNum Input number this project references.
 @param colNum Column number this project references.
 @param attachedRelationalOp]]>
      </doc>
    </constructor>
    <constructor name="ProjectExpression" type="org.apache.pig.newplan.OperatorPlan, int, java.lang.String, org.apache.pig.newplan.Operator, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Adds projection to the plan.
 @param plan
 @param inputNum
 @param alias
 @param attachedRelationalOp
 @throws FrontendException]]>
      </doc>
    </constructor>
    <constructor name="ProjectExpression" type="org.apache.pig.newplan.OperatorPlan, int, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor for range projection
 Adds projection to the plan.
 The start and end alias/column-number should be set separately.
 @param plan
 @param inputNum
 @param attachedRelationalOp]]>
      </doc>
    </constructor>
    <constructor name="ProjectExpression" type="org.apache.pig.newplan.logical.expression.ProjectExpression, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[like a copy constructor, but with a plan argument
 @param projExpr
 @param plan]]>
      </doc>
    </constructor>
    <method name="setColumnNumberFromAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[If there is an alias, finds the column number from it.
 @throws FrontendException if there is no such alias]]>
      </doc>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="getInputNum" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Input number this project references.  This is the input number for the
 relational operator that contains this expression.  The count is zero
 based.
 @return input number]]>
      </doc>
    </method>
    <method name="setInputNum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputNum" type="int"/>
    </method>
    <method name="getColNum" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Column number this project references.  The column number is the column
 in the relational operator that contains this expression.  The count
 is zero based.
 @return column number]]>
      </doc>
    </method>
    <method name="getColAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProjectedOperator" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setColNum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="colNum" type="int"/>
      <doc>
      <![CDATA[Set the column number for this project.  This should only be called by
 ProjectionPatcher.  Stupid Java needs friends.
 @param colNum new column number for projection]]>
      </doc>
    </method>
    <method name="isProjectStar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRangeProject" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isRangeOrStarProject" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="findReferent" return="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Find the LogicalRelationalOperator that this projection refers to.
 @return LRO this projection refers to
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAttachedRelationalOp" return="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAttachedRelationalOp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="attachedRelationalOp" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getStartCol" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the startCol]]>
      </doc>
    </method>
    <method name="setStartCol"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="startCol" type="int"/>
      <doc>
      <![CDATA[@param startCol the startCol to set]]>
      </doc>
    </method>
    <method name="getEndCol" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the endCol]]>
      </doc>
    </method>
    <method name="setEndCol"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endCol" type="int"/>
      <doc>
      <![CDATA[@param endCol the endCol to set]]>
      </doc>
    </method>
    <method name="setStartAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="startAlias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param startAlias
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="setEndAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="endAlias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param endAlias
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Projection of columns in an expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ProjectExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.RegexExpression -->
  <class name="RegexExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RegexExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Regex Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.RegexExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.ScalarExpression -->
  <class name="ScalarExpression" extends="org.apache.pig.newplan.logical.expression.UserFuncExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScalarExpression" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ScalarExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.Operator, org.apache.pig.newplan.Operator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getImplicitReferencedOperator" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setImplicitReferencedOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="implicitReferencedOperator" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="setAttachedLogicalOperator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="attachedLogicalOperator" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getAttachedLogicalOperator" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.ScalarExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.SubtractExpression -->
  <class name="SubtractExpression" extends="org.apache.pig.newplan.logical.expression.BinaryExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SubtractExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param plan plan this operator is part of
 @param lhs expression on its left hand side
 @param rhs expression on its right hand side]]>
      </doc>
    </constructor>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.Operator#accept(org.apache.pig.newplan.PlanVisitor)]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Subtract Operator]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.SubtractExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.UnaryExpression -->
  <class name="UnaryExpression" extends="org.apache.pig.newplan.logical.expression.LogicalExpression"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnaryExpression" type="java.lang.String, org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Will add this operator to the plan and connect it to the 
 left and right hand side operators.
 @param name of the operator
 @param plan plan this operator is part of
 @param exp expression that this expression operators on]]>
      </doc>
    </constructor>
    <method name="getExpression" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the expression that this unary expression operators on.
 @return expression on the left hand side
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Superclass for all unary expressions]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.UnaryExpression -->
  <!-- start class org.apache.pig.newplan.logical.expression.UserFuncExpression -->
  <class name="UserFuncExpression" extends="org.apache.pig.newplan.logical.expression.LogicalExpression"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UserFuncExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.FuncSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UserFuncExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.FuncSpec, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UserFuncExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.FuncSpec, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UserFuncExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.FuncSpec, java.util.List, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="UserFuncExpression" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.FuncSpec, java.util.List, boolean, boolean, boolean, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFuncSpec" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isDeterministic" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getArguments" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setFuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="funcSpec" type="org.apache.pig.FuncSpec"/>
      <doc>
      <![CDATA[@param funcSpec the FuncSpec to set]]>
      </doc>
    </method>
    <method name="getFieldSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lgExpPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isViaDefine" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEvalFunc" return="org.apache.pig.EvalFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.expression.UserFuncExpression -->
</package>
<package name="org.apache.pig.newplan.logical.optimizer">
  <!-- start class org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor -->
  <class name="AllExpressionVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AllExpressionVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param plan LogicalPlan to visit
 @param walker Walker to use to visit the plan.]]>
      </doc>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get a new instance of the expression visitor to apply to 
 a given expression.
 @param expr LogicalExpressionPlan that will be visited
 @return a new LogicalExpressionVisitor for that expression]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cu" type="org.apache.pig.newplan.logical.relational.LOCube"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="currentOp" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A visitor that walks a logical plan and then applies a given
 LogicalExpressionVisitor to all expressions it encounters.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.AllSameRalationalNodesVisitor -->
  <class name="AllSameRalationalNodesVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AllSameRalationalNodesVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param plan OperatorPlan to visit
 @param walker Walker to use to visit the plan]]>
      </doc>
    </constructor>
    <method name="execute"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Method to call on every node in the logical plan.
 @param op Node that is currently being visited.]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="union" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loNative" type="org.apache.pig.newplan.logical.relational.LONative"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cube" type="org.apache.pig.newplan.logical.relational.LOCube"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A visitor that walks the logical plan and calls the same method on every
 type of node.  Subclasses can extend this and implement the execute
 method, and this method will be called on every node in the graph.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.AllSameRalationalNodesVisitor -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer -->
  <class name="LogicalPlanOptimizer" extends="org.apache.pig.newplan.optimizer.PlanOptimizer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalPlanOptimizer" type="org.apache.pig.newplan.OperatorPlan, int, java.util.Set"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LogicalPlanOptimizer" type="org.apache.pig.newplan.OperatorPlan, int, java.util.Set, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create a new LogicalPlanOptimizer.
 @param p               Plan to optimize.
 @param iterations      Maximum number of optimizer iterations.
 @param turnOffRules    Optimization rules to disable. "all" disables all non-mandatory
                        rules. null enables all rules.
 @param pc              PigContext object]]>
      </doc>
    </constructor>
    <method name="buildRuleSets" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.LogicalPlanPrinter -->
  <class name="LogicalPlanPrinter" extends="org.apache.pig.newplan.PlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalPlanPrinter" type="org.apache.pig.newplan.OperatorPlan, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@param ps PrintStream to output plan information to
 @param plan Logical plan to print]]>
      </doc>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="depthFirstLP"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="SEPERATE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="tabs" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="reverse" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A visitor mechanism printing out the logical plan.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.LogicalPlanPrinter -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.ProjectionPatcher -->
  <class name="ProjectionPatcher" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.newplan.optimizer.PlanTransformListener"/>
    <constructor name="ProjectionPatcher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="transformed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fp" type="org.apache.pig.newplan.OperatorPlan"/>
      <param name="tp" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@link org.apache.pig.newplan.optimizer.PlanTransformListener#transformed(org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.OperatorPlan)]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A PlanTransformListener that will patch up references in projections.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.ProjectionPatcher -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.ProjectionPatcher.ProjectionFinder -->
  <class name="ProjectionPatcher.ProjectionFinder" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectionFinder" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.ProjectionPatcher.ProjectionFinder -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.SchemaPatcher -->
  <class name="SchemaPatcher" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.newplan.optimizer.PlanTransformListener"/>
    <constructor name="SchemaPatcher"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="transformed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fp" type="org.apache.pig.newplan.OperatorPlan"/>
      <param name="tp" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[@throws FrontendException 
 @link org.apache.pig.newplan.optimizer.PlanTransformListener#transformed(org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.OperatorPlan)]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A PlanTransformListener for the logical optimizer that will patch up schemas
 after a plan has been transformed.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.SchemaPatcher -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.SchemaResetter -->
  <class name="SchemaResetter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaResetter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <constructor name="SchemaResetter" type="org.apache.pig.newplan.OperatorPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCube" type="org.apache.pig.newplan.logical.relational.LOCube"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCogroup" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplit" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loUnion" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loRank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loDistinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLimit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loStream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <exception name="PlanValidationException" type="org.apache.pig.impl.plan.PlanValidationException"/>
      <doc>
      <![CDATA[Check if schema is valid (ready to be part of a final logical plan)
 @param schema
 @throws PlanValidationException if the if any field in schema has uid -1
 or (skipDuplicateUidCheck is true and there are duplicate uids in schema)]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.SchemaResetter -->
  <!-- start class org.apache.pig.newplan.logical.optimizer.UidResetter -->
  <class name="UidResetter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UidResetter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCogroup" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplit" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loUnion" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loRank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loDistinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLimit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loStream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.optimizer.UidResetter -->
</package>
<package name="org.apache.pig.newplan.logical.relational">
  <!-- start class org.apache.pig.newplan.logical.relational.LOCogroup -->
  <class name="LOCogroup" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOCogroup" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor for use in defining rule patterns
 @param plan]]>
      </doc>
    </constructor>
    <constructor name="LOCogroup" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.util.MultiMap, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOCogroup" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.util.MultiMap, org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getGroupType" return="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetGroupType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getGeneratedInputUids" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns an Unmodifiable Map of Input Number to Uid
 @return Unmodifiable Map<Integer,Long>]]>
      </doc>
    </method>
    <method name="getExpressionPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setExpressionPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="setGroupType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gt" type="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"/>
    </method>
    <method name="setInnerFlags"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flags" type="boolean[]"/>
    </method>
    <method name="getInner" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <field name="OPTION_GROUPTYPE" type="java.lang.Integer"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[static constant to refer to the option of selecting a group type]]>
      </doc>
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOCogroup -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE -->
  <class name="LOCogroup.GROUPTYPE" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="REGULAR" type="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLLECTED" type="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGE" type="org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Enum for the type of group]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOCogroup.GROUPTYPE -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOCross -->
  <class name="LOCross" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOCross" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isNested" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setNested"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nested" type="boolean"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="nested" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOCross -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOCube -->
  <class name="LOCube" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOCube" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOCube" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.util.MultiMap"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getExpressionPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setExpressionPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="getOperations" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOperations"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operations" type="java.util.List"/>
    </method>
    <doc>
    <![CDATA[CUBE operator implementation for data cube computation.
 <p>
 Cube operator syntax
 
 <pre>
 {@code alias = CUBE rel BY { CUBE | ROLLUP }(col_ref) [, { CUBE | ROLLUP }(col_ref) ...];}
 alias - output alias 
 CUBE - operator
 rel - input relation
 BY - operator
 CUBE | ROLLUP - cube or rollup operation
 col_ref - column references or * or range in the schema referred by rel
 </pre>
 
 </p>
 <p>
 The cube computation and rollup computation using UDFs
 {@link org.apache.pig.builtin.CubeDimensions} and
 {@link org.apache.pig.builtin.RollupDimensions} can be represented like below
 
 <pre>
 {@code
 events = LOAD '/logs/events' USING EventLoader() AS (lang, event, app_id, event_id, total);
 eventcube = CUBE events BY CUBE(lang, event), ROLLUP(app_id, event_id);
 result = FOREACH eventcube GENERATE FLATTEN(group) as (lang, event),
          COUNT_STAR(cube), SUM(cube.total);
 STORE result INTO 'cuberesult';
 }
 </pre>
 
 In the above example, CUBE(lang, event) will generate all combinations of
 aggregations {(lang, event), (lang, ), ( , event), ( , )}. 
 For n dimensions, 2^n combinations of aggregations will be generated.
 
 Similarly, ROLLUP(app_id, event_id) will generate aggregations from the most
 detailed to the most general (grandtotal) level in the hierarchical order
 like {(app_id, event_id), (app_id, ), ( , )}. For n dimensions,
 n+1 combinations of aggregations will be generated.
 
 The output of the above example query will have the following combinations of
 aggregations {(lang, event, app_id, event_id), (lang, , app_id, event_id), 
 ( , event, app_id, event_id), ( , , app_id, event_id), (lang, event, app_id, ), 
 (lang, , app_id, ), ( , event, app_id, ), ( , , app_id, ), (lang, event, , ), 
 (lang, , , ), ( , event, , ), ( , , , )}
 
 Total number of combinations will be ( 2^n * (n+1) )
 
 Since cube and rollup clause use null to represent "all" values of a dimension, 
 if the dimension values contain null values it will be converted to "unknown" 
 before computing cube or rollup. 
 </p>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOCube -->
  <!-- start class org.apache.pig.newplan.logical.relational.LODistinct -->
  <class name="LODistinct" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LODistinct" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInput" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LODistinct -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOFilter -->
  <class name="LOFilter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOFilter" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOFilter" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOFilter" type="org.apache.pig.newplan.logical.relational.LogicalPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOFilter" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.newplan.logical.expression.LogicalExpressionPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFilterPlan" return="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFilterPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filterPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
    </method>
    <method name="isSample" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInput" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOFilter -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOForEach -->
  <class name="LOForEach" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOForEach" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInnerPlan" return="org.apache.pig.newplan.logical.relational.LogicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInnerPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="p" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="findReacheableInnerLoadFromBoundaryProject" return="org.apache.pig.impl.util.Pair"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="dumpNestedSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="nestedAlias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOForEach -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOGenerate -->
  <class name="LOGenerate" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOGenerate" type="org.apache.pig.newplan.OperatorPlan, java.util.List, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOGenerate" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setOutputPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plans" type="java.util.List"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getOutputPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFlattenFlags" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFlattenFlags"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flatten" type="boolean[]"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getUserDefinedSchema" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUserDefinedSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userDefinedSchema" type="java.util.List"/>
    </method>
    <method name="getOutputPlanSchemas" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the output schema corresponding to each input expression plan
 @return list of output schemas]]>
      </doc>
    </method>
    <method name="setOutputPlanSchemas"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputPlanSchemas" type="java.util.List"/>
    </method>
    <method name="getUidOnlySchemas" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUidOnlySchemas"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uidOnlySchemas" type="java.util.List"/>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExpSchemas" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOGenerate -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalPlan -->
  <class name="LogicalPlan" extends="org.apache.pig.newplan.BaseOperatorPlan"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalPlan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Equality is checked by calling equals on every leaf in the plan.  This
 assumes that plans are always connected graphs.  It is somewhat
 inefficient since every leaf will test equality all the way to
 every root.  But it is only intended for use in testing, so that
 should be ok.  Checking predecessors (as opposed to successors) was
 chosen because splits (which have multiple successors) do not depend
 on order of outputs for correctness, whereas joins (with multiple
 predecessors) do.  That is, reversing the outputs of split in the
 graph has no correctness implications, whereas reversing the inputs
 of join can.  This method of doing equals will detect predecessors
 in different orders but not successors in different orders.
 It will return false if either plan has non deterministic EvalFunc.]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="java.io.PrintStream"/>
      <param name="format" type="java.lang.String"/>
      <param name="verbose" type="boolean"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="findByAlias" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Returns the signature of the LogicalPlan. The signature is a unique identifier for a given
 plan generated by a Pig script. The same script run multiple times with the same version of
 Pig is guaranteed to produce the same signature, even if the input or output locations differ.

 @return a unique identifier for the logical plan
 @throws FrontendException if signature can't be computed]]>
      </doc>
    </method>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="scope" type="java.lang.String"/>
      <param name="skipInputOutputValidation" type="boolean"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="optimize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[LogicalPlan is the logical view of relational operations Pig will execute
 for a given script.  Note that it contains only relational operations.
 All expressions will be contained in LogicalExpressionPlans inside
 each relational operator.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalPlan -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalPlanData -->
  <class name="LogicalPlanData" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalPlanData" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNumLogicalRelationOperators" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the number of {@link LogicalRelationalOperator}s present in the
 pig script.
 
 @return number of logical relational operators (Load, Join, Store etc)]]>
      </doc>
    </method>
    <method name="getNumSources" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return number of Load statements in the script]]>
      </doc>
    </method>
    <method name="getNumSinks" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return number of Store statements in the script]]>
      </doc>
    </method>
    <method name="getSources" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return This method return the list of Load paths defined in the
         script/query.]]>
      </doc>
    </method>
    <method name="getSinks" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return This method returns the list of store paths in the script/query.]]>
      </doc>
    </method>
    <method name="getLoadFuncs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return This method returns the list of LoadFunc(s) used.]]>
      </doc>
    </method>
    <method name="getStoreFuncs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return This method returns the list of StoreFunc(s) used.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class provides information regarding the LogicalPlan. Make sure to avoid
 exposing LogicalPlan itself. Only data regarding the logical plan could be
 exposed but none of Pig internals (plans, operators etc) should be.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalPlanData -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor -->
  <class name="LogicalRelationalNodesVisitor" extends="org.apache.pig.newplan.PlanVisitor"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalRelationalNodesVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cube" type="org.apache.pig.newplan.logical.relational.LOCube"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCogroup" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplit" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loUnion" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loRank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loDistinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLimit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loCross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loStream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nativeMR" type="org.apache.pig.newplan.logical.relational.LONative"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A visitor for logical plans.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalRelationalOperator -->
  <class name="LogicalRelationalOperator" extends="org.apache.pig.newplan.Operator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalRelationalOperator" type="java.lang.String, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param name of this operator
 @param plan this operator is in]]>
      </doc>
    </constructor>
    <constructor name="LogicalRelationalOperator" type="java.lang.String, org.apache.pig.newplan.OperatorPlan, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param name of this operator
 @param plan this operator is in
 @param rp requested parallelism]]>
      </doc>
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the schema for the output of this relational operator.  This does
 not merely return the schema variable.  If schema is not yet set, this
 will attempt to construct it.  Therefore it is abstract since each
 operator will need to construct its schema differently.
 @return the schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="setSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
    </method>
    <method name="resetSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reset the schema to null so that the next time getSchema is called
 the schema will be regenerated from scratch.]]>
      </doc>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Erase all cached uid, regenerate uid when we regenerating schema.
 This process currently only used in ImplicitSplitInsert, which will
 insert split and invalidate some uids in plan]]>
      </doc>
    </method>
    <method name="getRequestedParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the requestedParallelism for this operator.
 @return requestedParallelsim]]>
      </doc>
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the alias of this operator.  That is, if the Pig Latin for this operator
 was 'X = sort W by $0' then the alias will be X.  For store and split it will
 be the alias being stored or split.  Note that because of this this alias
 is not guaranteed to be unique to a single operator.
 @return alias]]>
      </doc>
    </method>
    <method name="setAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="setRequestedParallelism"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="parallel" type="int"/>
    </method>
    <method name="getLineNumber" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the line number in the submitted Pig Latin script where this operator
 occurred.
 @return line number]]>
      </doc>
    </method>
    <method name="neverUseForRealSetSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <doc>
      <![CDATA[Only to be used by unit tests.  This is a back door cheat to set the schema
 without having to calculate it.  This should never be called by production
 code, only by tests.
 @param schema to set]]>
      </doc>
    </method>
    <method name="checkEquality" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Do some basic equality checks on two relational operators.  Equality
 is defined here as having equal schemas and  predecessors that are equal.
 This is intended to be used by operators' equals methods.
 @param other LogicalRelationalOperator to compare predecessors against
 @return true if the isEquals() methods of this node's predecessor(s) returns
 true when invoked with other's predecessor(s).
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCustomPartitioner" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCustomPartitioner"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="customPartitioner" type="java.lang.String"/>
    </method>
    <method name="pinOption"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="opt" type="java.lang.Integer"/>
    </method>
    <method name="isPinnedOption" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="opt" type="java.lang.Integer"/>
    </method>
    <method name="fixDuplicateUids"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fss" type="java.util.List"/>
      <doc>
      <![CDATA[In the case of an operation which manipualtes columns (such as a foreach or a join)
 it is possible for multiple columns to have been derived from the same
 column and thus have duplicate UID's. This detects that case and resets the uid.
 See PIG-3020 and PIG-3093 for more information.
 @param fss a list of LogicalFieldSchemas to check the uids of]]>
      </doc>
    </method>
    <field name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="requestedParallelism" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="alias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="lineNum" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mCustomPartitioner" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Name of the customPartitioner if one is used, this is set to null otherwise.]]>
      </doc>
    </field>
    <field name="mPinnedOptions" type="java.util.HashSet"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[A HashSet to indicate whether an option (such a Join Type) was pinned
 by the user or can be chosen at runtime by the optimizer.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[Logical representation of relational operators.  Relational operators have
 a schema.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalRelationalOperator -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalSchema -->
  <class name="LogicalSchema" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Reset uids of all fieldschema that the schema contains]]>
      </doc>
    </method>
    <method name="castable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inSch" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="outSch" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <doc>
      <![CDATA[Recursively compare two schemas to check if the input schema 
 can be cast to the cast schema
 @param inSch schema of the cast input
 @param outSch schema of the cast operator
 @return true if castable]]>
      </doc>
    </method>
    <method name="addField"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="field" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <doc>
      <![CDATA[Add a field to this schema.
 @param field to be added to the schema]]>
      </doc>
    </method>
    <method name="getField" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Fetch a field by alias
 @param alias
 @return field associated with alias, or null if no such field
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="getFieldSubNameMatch" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Given an alias name, find the associated LogicalFieldSchema. If exact name is 
 not found see if any field matches the part of the 'namespaced' alias.
 eg. if given alias is nm::a , and schema is (a,b). It will return 
 FieldSchema of a.
 if given alias is nm::a and schema is (nm2::a, b), it will return null
 @param alias Alias to look up.
 @return LogicalFieldSchema, or null if no such alias is in this tuple.]]>
      </doc>
    </method>
    <method name="getFieldPosition" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="getField" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <doc>
      <![CDATA[Fetch a field by field number
 @param fieldNum field number to fetch
 @return field]]>
      </doc>
    </method>
    <method name="getFields" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all fields
 @return list of all fields]]>
      </doc>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the size of the schema.
 @return size]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[Two schemas are equal if they are of equal size and their fields
 schemas considered in order are equal. This function does 
 not compare the alias of the fields.]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <param name="compareAlias" type="boolean"/>
      <doc>
      <![CDATA[Two schemas are equal if they are of equal size and their fields
 schemas considered in order are equal. If compareAlias argument is 
 set to true, the alias of the fields are also compared.
 @param other
 @param compareAlias
 @return true if equal]]>
      </doc>
    </method>
    <method name="findField" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uid" type="long"/>
      <doc>
      <![CDATA[Look for the index of the field that contains the specified uid
 @param uid the uid to look for
 @return the index of the field, -1 if not found]]>
      </doc>
    </method>
    <method name="merge" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s1" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="s2" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="mode" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Merge two schemas.
 @param s1 In Load/ForEach, s1 is user declared schema; In Union, s1 is left side.
 @param s2 In Load/ForEach, s2 is infered schema; In Union, s2 is right side.
 @param mode We merge schema in Load/Foreach/Union. In Load/Foreach, we always take s1 if compatible (s1 is set to be user defined schema),
 In union, we take more specific type (between numeric and string, we take string). In the case type mismatch in s1/s2, 
 we expect TypeCheckingVisitor will fill the gap later. 
 @return a merged schema, or null if the merge fails]]>
      </doc>
    </method>
    <method name="isEqualUnlessUnknown" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s1" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="s2" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="mergeUid" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uidOnlySchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="mergeSchemasByAlias" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schemas" type="java.util.List"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Merges collection of schemas using their column aliases 
 (unlike mergeSchema(..) functions which merge using positions)
 Schema will not be merged if types are incompatible, 
 as per DataType.mergeType(..)
 For Tuples and Bags, SubSchemas have to be equal be considered compatible
 @param schemas - list of schemas to be merged using their column alias
 @return merged schema]]>
      </doc>
    </method>
    <method name="mergeSchemaByAlias" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema1" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="schema2" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Merges two schemas using their column aliases 
 (unlike mergeSchema(..) functions which merge using positions)
 Schema will not be merged if types are incompatible, 
 as per DataType.mergeType(..)
 For Tuples and Bags, SubSchemas have to be equal be considered compatible]]>
      </doc>
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="other" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="relaxInner" type="boolean"/>
      <param name="relaxAlias" type="boolean"/>
      <doc>
      <![CDATA[Recursively compare two schemas for equality
 @param schema
 @param other
 @param relaxInner if true, inner schemas will not be checked
 @param relaxAlias if true, aliases will not be checked
 @return true if schemas are equal, false otherwise]]>
      </doc>
    </method>
    <method name="normalize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Old Pig schema does not require a tuple schema inside a bag;
 Now it is required to have that; this method is to fill the gap]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Schema, from a logical perspective.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalSchema -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema -->
  <class name="LogicalSchema.LogicalFieldSchema" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogicalFieldSchema" type="java.lang.String, org.apache.pig.newplan.logical.relational.LogicalSchema, byte"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LogicalFieldSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LogicalFieldSchema" type="java.lang.String, org.apache.pig.newplan.logical.relational.LogicalSchema, byte, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <doc>
      <![CDATA[Equality is defined as having the same type and either the same schema
 or both null schema.  Alias and uid are not checked.]]>
      </doc>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="java.lang.Object"/>
      <param name="compareAlias" type="boolean"/>
      <doc>
      <![CDATA[Equality is defined as having the same type and either the same schema
 or both null schema. if compareAlias argument is set to true, alias
 is also compared.
 @param other 
 @param compareAlias
 @return true if equal]]>
      </doc>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="verbose" type="boolean"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="stampFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Give new value for uid if uid of field schema or those in fields schema
 of inner schema are -1.]]>
      </doc>
    </method>
    <method name="typeMatch" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs1" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="fs2" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
    </method>
    <method name="mergeUid" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uidOnlyFieldSchema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Adds the uid from FieldSchema argument to this FieldSchema
 If the argument is null, it stamps this FieldSchema with uid
 @param uidOnlyFieldSchema
 @return FieldSchema 
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Rest uid of this fieldschema and inner schema]]>
      </doc>
    </method>
    <method name="cloneUid" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="deepCopy" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="equals" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fschema" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="fother" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="relaxInner" type="boolean"/>
      <param name="relaxAlias" type="boolean"/>
      <doc>
      <![CDATA[Compare two field schema for equality

 @param relaxInner If true, we don't check inner tuple schemas
 @param relaxAlias If true, we don't check aliases
 @return true if FieldSchemas are equal, false otherwise]]>
      </doc>
    </method>
    <method name="castable" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inFs" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="outFs" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <doc>
      <![CDATA[Check if FieldSchema inFs is castable to outFs
 @param inFs
 @param outFs
 @return true if it is castable]]>
      </doc>
    </method>
    <method name="merge" return="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs1" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="fs2" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="mode" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Merge two LogicalFieldSchema, the behavior of merge depends on mode. 
 If mode==MergeType.LoadForEach or MergeType.LoadForEachInner, take left side if compatible, otherwise, throw exception.
 If mode==MergeType.UnionInner, if not same type, throw exception, end up with null inner schema.
 If mode==MergeType.Union, take more specific type.
 @param fs1 In Load/Foreach, fs1 is user declared schema; in Union, fs1 is left side
 @param fs2 In Load/Foreach, fs1 is inferred schema; in Union, fs1 is left side
 @param mode merge mode]]>
      </doc>
    </method>
    <method name="isEqualUnlessUnknown" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fs1" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <param name="fs2" type="org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="normalize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Old Pig field schema does not require a tuple schema inside a bag;
 Now it is required to have that; this method is to fill the gap]]>
      </doc>
    </method>
    <field name="alias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="type" type="byte"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="uid" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalSchema.LogicalFieldSchema -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode -->
  <class name="LogicalSchema.MergeMode" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="LoadForEach" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LoadForEachInner" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="Union" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UnionInner" type="org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogicalSchema.MergeMode -->
  <!-- start class org.apache.pig.newplan.logical.relational.LogToPhyTranslationVisitor -->
  <class name="LogToPhyTranslationVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LogToPhyTranslationVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getLogToPhyMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPhysicalPlan" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLoad" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loNative" type="org.apache.pig.newplan.logical.relational.LONative"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loRank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Transformation from Logical to Physical Plan involves the following steps:
 First, it is generated a random number which will link a POCounter within a PORank.
 On this way, avoiding possible collisions on parallel rank operations.
 Then, if it is row number mode:
 <pre>
 In case of a RANK operation (row number mode), are used two steps:
   1.- Each tuple is counted sequentially on each mapper, and are produced global counters
   2.- Global counters are gathered and summed, each tuple calls to the respective counter value
       in order to calculate the corresponding rank value.
 </pre>
 or not:
 <pre>
 In case of a RANK BY operation, then are necessary five steps:
   1.- Group by the fields involved on the rank operation: POPackage
   2.- In case of multi-fields, the key (group field) is flatten: POForEach
   3.- Sort operation by the fields available after flattening: POSort
   4.- Each group is sequentially counted on each mapper through a global counter: POCounter
   5.- Global counters are summed and passed to the rank operation: PORank
 </pre>
 @param loRank describe if the rank operation is on a row number mode
 or is rank by (dense or not)]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loStore" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loj" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loUnion" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loDistinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLimit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplit" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loSplitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="updateWithEmptyBagCheck"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fePlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="joinInput" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[updates plan with check for empty bag and if bag is empty to flatten a bag
 with as many null's as dictated by the schema
 @param fePlan the plan to update
 @param joinInput the relation for which the corresponding bag is being checked
 @throws FrontendException]]>
      </doc>
    </method>
    <field name="logToPhyMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentPlans" type="java.util.Deque"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentPlan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="nodeGen" type="org.apache.pig.impl.plan.NodeIdGenerator"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pc" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LogToPhyTranslationVisitor -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOInnerLoad -->
  <class name="LOInnerLoad" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOInnerLoad" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.relational.LOForEach, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOInnerLoad" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.relational.LOForEach, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <constructor name="LOInnerLoad" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.newplan.logical.relational.LOForEach, org.apache.pig.newplan.logical.expression.ProjectExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="resetSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProjection" return="org.apache.pig.newplan.logical.expression.ProjectExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getColNum" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLOForEach" return="org.apache.pig.newplan.logical.relational.LOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the LOForEach operator that contains this operator as part of inner plan
 @return the LOForEach operator]]>
      </doc>
    </method>
    <method name="sourceIsBag" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loc" type="org.apache.pig.parser.SourceLocation"/>
    </method>
    <doc>
    <![CDATA[Operator to map the data into the inner plan of LOForEach
 It can only be used in the inner plan of LOForEach]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOInnerLoad -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOJoin -->
  <class name="LOJoin" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOJoin" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOJoin" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.util.MultiMap, org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE, boolean[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setJoinPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="joinPlans" type="org.apache.pig.impl.util.MultiMap"/>
    </method>
    <method name="setInnerFlags"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isInner" type="boolean[]"/>
    </method>
    <method name="setJoinType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jt" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"/>
    </method>
    <method name="isInner" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputIndex" type="int"/>
    </method>
    <method name="getInnerFlags" return="boolean[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJoinType" return="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetJoinType"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJoinPlan" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputIndex" type="int"/>
    </method>
    <method name="getExpressionPlans" return="org.apache.pig.impl.util.MultiMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get all of the expressions plans that are in this join.
 @return collection of all expression plans.]]>
      </doc>
    </method>
    <method name="getExpressionPlanValues" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <field name="OPTION_JOIN" type="java.lang.Integer"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[static constant to refer to the option of selecting a join type]]>
      </doc>
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOJoin -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE -->
  <class name="LOJoin.JOINTYPE" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="HASH" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BLOOM" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REPLICATED" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SKEWED" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGE" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGESPARSE" type="org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Enum for the type of join]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOJoin.JOINTYPE -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOLimit -->
  <class name="LOLimit" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOLimit" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOLimit" type="org.apache.pig.newplan.logical.relational.LogicalPlan, long"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOLimit" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="long"/>
    </method>
    <method name="getLimitPlan" return="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimitPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mlimitPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInput" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOLimit -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOLoad -->
  <class name="LOLoad" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOLoad" type="org.apache.pig.newplan.logical.relational.LogicalSchema, org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[used for pattern matching
 
 @param schema schema user specified in script, or null if not
 specified.
 @param plan logical plan this load is part of.]]>
      </doc>
    </constructor>
    <constructor name="LOLoad" type="org.apache.pig.impl.io.FileSpec, org.apache.pig.newplan.logical.relational.LogicalSchema, org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.hadoop.conf.Configuration, org.apache.pig.LoadFunc, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Used from the LogicalPlanBuilder

 @param loader FuncSpec for load function to use for this load.
 @param schema schema user specified in script, or null if not specified.
 @param plan logical plan this load is part of.
 @param conf
 @param loadFunc the LoadFunc that was instantiated from loader
 @param signature the signature that will be passed to the LoadFunc]]>
      </doc>
    </constructor>
    <method name="getSchemaFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLoadFunc" return="org.apache.pig.LoadFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setScriptSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
    </method>
    <method name="setRequiredFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="requiredFields" type="java.util.List"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the schema for this load.  The schema will be either be what was
 given by the user in the script or what the load functions getSchema
 call returned.  Otherwise null will be returned, indicating that the
 schema is unknown.
 @return schema, or null if unknown]]>
      </doc>
    </method>
    <method name="getFileSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getDeterminedSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setCastState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="state" type="org.apache.pig.newplan.logical.relational.LOLoad.CastState"/>
    </method>
    <method name="getCastState" return="org.apache.pig.newplan.logical.relational.LOLoad.CastState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCastAdjusted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConfiguration" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isTmpLoad" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTmpLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isTmpLoad" type="boolean"/>
    </method>
    <method name="getScriptSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="long"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOLoad -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOLoad.CastState -->
  <class name="LOLoad.CastState" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.newplan.logical.relational.LOLoad.CastState[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.newplan.logical.relational.LOLoad.CastState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="INSERTED" type="org.apache.pig.newplan.logical.relational.LOLoad.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NONEED" type="org.apache.pig.newplan.logical.relational.LOLoad.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NOADJUST" type="org.apache.pig.newplan.logical.relational.LOLoad.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOLoad.CastState -->
  <!-- start class org.apache.pig.newplan.logical.relational.LONative -->
  <class name="LONative" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LONative" type="org.apache.pig.newplan.OperatorPlan, java.lang.String, java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="obj" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getNativeMRJar" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the nativeMRJar]]>
      </doc>
    </method>
    <method name="setNativeMRJar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nativeMRJar" type="java.lang.String"/>
      <doc>
      <![CDATA[@param nativeMRJar the nativeMRJar to set]]>
      </doc>
    </method>
    <method name="getParams" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the params]]>
      </doc>
    </method>
    <method name="setParams"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="params" type="java.lang.String[]"/>
      <doc>
      <![CDATA[@param params the params to set]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LONative -->
  <!-- start class org.apache.pig.newplan.logical.relational.LORank -->
  <class name="LORank" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LORank" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LORank" type="org.apache.pig.newplan.OperatorPlan, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRankColPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRankColPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rankColPlans" type="java.util.List"/>
    </method>
    <method name="getAscendingCol" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAscendingCol"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ascCols" type="java.util.List"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Get the schema for the output of LORank.
 Composed by long value prepended to the
 rest of the input schema
 @return the schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isDenseRank" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get if it is a dense RANK BY
 @return boolean]]>
      </doc>
    </method>
    <method name="setIsDenseRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isDenseRank" type="boolean"/>
      <doc>
      <![CDATA[Set if it is a dense RANK BY
 @param isDenseRank if is dense rank or not]]>
      </doc>
    </method>
    <method name="isRowNumber" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get if it is a simple RANK operation.
 Which means a row number attached to each tuple.
 @return boolean]]>
      </doc>
    </method>
    <method name="setIsRowNumber"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rowNumber" type="boolean"/>
      <doc>
      <![CDATA[Set if it is a simple RANK operation.
 @param rowNumber if is a row number operation]]>
      </doc>
    </method>
    <doc>
    <![CDATA[RANK operator implementation.
 Operator Syntax:
 <pre>
 {@code alias = RANK rel ( BY (col_ref) (ASC|DESC)? ( DENSE )? )?;}
 alias - output alias
 RANK - operator
 rel - input relation
 BY - operator
 col_ref - STAR or Column References or a range in the schema of rel
 DENSE - dense rank means a sequential value without gasp among different tuple values.
 </pre>]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LORank -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOSort -->
  <class name="LOSort" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOSort" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOSort" type="org.apache.pig.newplan.OperatorPlan, java.util.List, java.util.List, org.apache.pig.FuncSpec"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSortColPlans" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSortColPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortPlans" type="java.util.List"/>
    </method>
    <method name="getAscendingCols" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAscendingCols"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ascCols" type="java.util.List"/>
    </method>
    <method name="getUserFunc" return="org.apache.pig.FuncSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="func" type="org.apache.pig.FuncSpec"/>
    </method>
    <method name="isStar" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStar"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
    </method>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="l" type="long"/>
    </method>
    <method name="getLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isLimited" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getSortInfo" return="org.apache.pig.SortInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInput" return="org.apache.pig.newplan.Operator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="createCopy" return="org.apache.pig.newplan.logical.relational.LOSort"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOSort -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOSplit -->
  <class name="LOSplit" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOSplit" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOSplit -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOSplitOutput -->
  <class name="LOSplitOutput" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOSplitOutput" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOSplitOutput" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFilterPlan" return="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFilterPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filterPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputUids" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uid" type="long"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOSplitOutput -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOStore -->
  <class name="LOStore" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOStore" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.io.FileSpec, org.apache.pig.StoreFuncInterface, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOStore" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.io.FileSpec, org.apache.pig.StoreFuncInterface, java.lang.String, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getOutputSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStoreFunc" return="org.apache.pig.StoreFuncInterface"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getSortInfo" return="org.apache.pig.SortInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSortInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sortInfo" type="org.apache.pig.SortInfo"/>
    </method>
    <method name="isTmpStore" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setTmpStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isTmpStore" type="boolean"/>
    </method>
    <method name="setInputSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="org.apache.pig.impl.io.FileSpec"/>
    </method>
    <method name="getInputSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSignature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFileSpec" return="org.apache.pig.impl.io.FileSpec"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOStore -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOStream -->
  <class name="LOStream" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOStream" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.streaming.ExecutableManager, org.apache.pig.impl.streaming.StreamingCommand, org.apache.pig.newplan.logical.relational.LogicalSchema"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getStreamingCommand" return="org.apache.pig.impl.streaming.StreamingCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the StreamingCommand object associated
 with this operator
 
 @return the StreamingCommand object]]>
      </doc>
    </method>
    <method name="getExecutableManager" return="org.apache.pig.impl.streaming.ExecutableManager"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return the ExecutableManager]]>
      </doc>
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setCastState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="state" type="org.apache.pig.newplan.logical.relational.LOStream.CastState"/>
    </method>
    <method name="getCastState" return="org.apache.pig.newplan.logical.relational.LOStream.CastState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isCastAdjusted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScriptSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOStream -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOStream.CastState -->
  <class name="LOStream.CastState" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.newplan.logical.relational.LOStream.CastState[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.newplan.logical.relational.LOStream.CastState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="INSERTED" type="org.apache.pig.newplan.logical.relational.LOStream.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NONEED" type="org.apache.pig.newplan.logical.relational.LOStream.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NOADJUST" type="org.apache.pig.newplan.logical.relational.LOStream.CastState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOStream.CastState -->
  <!-- start class org.apache.pig.newplan.logical.relational.LOUnion -->
  <class name="LOUnion" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LOUnion" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LOUnion" type="org.apache.pig.newplan.OperatorPlan, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="isOnSchema" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="other" type="org.apache.pig.newplan.Operator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getInputUids" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uid" type="long"/>
    </method>
    <method name="resetUid"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="setUnionOnSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="flag" type="boolean"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.LOUnion -->
  <!-- start class org.apache.pig.newplan.logical.relational.MapSideMergeValidator -->
  <class name="MapSideMergeValidator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapSideMergeValidator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="validateMapSideMerge" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="preds" type="java.util.List"/>
      <param name="lp" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="LogicalToPhysicalTranslatorException" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.LogicalToPhysicalTranslatorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.MapSideMergeValidator -->
  <!-- start class org.apache.pig.newplan.logical.relational.SchemaNotDefinedException -->
  <class name="SchemaNotDefinedException" extends="java.lang.RuntimeException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaNotDefinedException" type="java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SchemaNotDefinedException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SchemaNotDefinedException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.newplan.logical.relational.SchemaNotDefinedException -->
</package>
<package name="org.apache.pig.newplan.logical.rules">
  <!-- start class org.apache.pig.newplan.logical.rules.AddForEach -->
  <class name="AddForEach" extends="org.apache.pig.newplan.logical.rules.WholePlanRule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AddForEach" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.AddForEach -->
  <!-- start class org.apache.pig.newplan.logical.rules.AddForEach.AddForEachTransformer -->
  <class name="AddForEach.AddForEachTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AddForEachTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.AddForEach.AddForEachTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.ColumnMapKeyPrune -->
  <class name="ColumnMapKeyPrune" extends="org.apache.pig.newplan.logical.rules.WholePlanRule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnMapKeyPrune" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This Rule prunes columns and map keys and set to loader. This rule depends
 on MapKeysPruneHelper to calculate what keys are required for a loader,
 and ColumnPruneHelper to calculate the required columns for a loader. Then
 it combines the map keys and columns info to set into the loader.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ColumnMapKeyPrune -->
  <!-- start class org.apache.pig.newplan.logical.rules.ColumnMapKeyPrune.ColumnMapKeyPruneTransformer -->
  <class name="ColumnMapKeyPrune.ColumnMapKeyPruneTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnMapKeyPruneTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ColumnMapKeyPrune.ColumnMapKeyPruneTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.ColumnPruneHelper -->
  <class name="ColumnPruneHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnPruneHelper" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getColumns" return="java.util.Set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="schema" type="org.apache.pig.newplan.logical.relational.LogicalSchema"/>
      <param name="uids" type="java.util.Set"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="INPUTUIDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="OUTPUTUIDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REQUIREDCOLS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Helper class used by ColumnMapKeyPrune to figure out what columns can be pruned.
 It doesn't make any changes to the operator plan]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ColumnPruneHelper -->
  <!-- start class org.apache.pig.newplan.logical.rules.ColumnPruneVisitor -->
  <class name="ColumnPruneVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnPruneVisitor" type="org.apache.pig.newplan.OperatorPlan, java.util.Map, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="addRequiredItems"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <param name="requiredItem" type="org.apache.pig.impl.util.Pair"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="union" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ColumnPruneVisitor -->
  <!-- start class org.apache.pig.newplan.logical.rules.ConstantCalculator -->
  <class name="ConstantCalculator" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantCalculator" type="java.lang.String, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ConstantCalculator -->
  <!-- start class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer -->
  <class name="ConstantCalculator.ConstantCalculatorTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantCalculatorTransformer" type="java.util.List, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorExpressionVisitor -->
  <class name="ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorExpressionVisitor" extends="org.apache.pig.newplan.logical.expression.AllSameExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantCalculatorExpressionVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="execute"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.expression.LogicalExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorExpressionVisitor -->
  <!-- start class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorLogicalPlanVisitor -->
  <class name="ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorLogicalPlanVisitor" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConstantCalculatorLogicalPlanVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ConstantCalculator.ConstantCalculatorTransformer.ConstantCalculatorLogicalPlanVisitor -->
  <!-- start class org.apache.pig.newplan.logical.rules.FilterAboveForeach -->
  <class name="FilterAboveForeach" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FilterAboveForeach" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This Rule moves Filter Above Foreach.
 It checks if uid on which filter works on
 is present in the predecessor of foreach.
 If so it transforms it.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.FilterAboveForeach -->
  <!-- start class org.apache.pig.newplan.logical.rules.FilterAboveForeach.FilterAboveForEachTransformer -->
  <class name="FilterAboveForeach.FilterAboveForEachTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FilterAboveForEachTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.FilterAboveForeach.FilterAboveForEachTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.FilterConstantCalculator -->
  <class name="FilterConstantCalculator" extends="org.apache.pig.newplan.logical.rules.ConstantCalculator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FilterConstantCalculator" type="java.lang.String, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.FilterConstantCalculator -->
  <!-- start class org.apache.pig.newplan.logical.rules.ForEachConstantCalculator -->
  <class name="ForEachConstantCalculator" extends="org.apache.pig.newplan.logical.rules.ConstantCalculator"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ForEachConstantCalculator" type="java.lang.String, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.ForEachConstantCalculator -->
  <!-- start class org.apache.pig.newplan.logical.rules.GroupByConstParallelSetter -->
  <class name="GroupByConstParallelSetter" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroupByConstParallelSetter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Rule: If a LOCogroup is 'group all', set the parallelism to 1,
 or in general - if the group-by expression is just a constant
 then set parallelism to 1
 LogicalExpressionSimplifier could be used to convert an expression 
 with constants into a single ConstantExpression]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.GroupByConstParallelSetter -->
  <!-- start class org.apache.pig.newplan.logical.rules.GroupByConstParallelSetter.GroupAllParallelSetterTransformer -->
  <class name="GroupByConstParallelSetter.GroupAllParallelSetterTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroupAllParallelSetterTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.GroupByConstParallelSetter.GroupAllParallelSetterTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.LimitOptimizer -->
  <class name="LimitOptimizer" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LimitOptimizer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.LimitOptimizer -->
  <!-- start class org.apache.pig.newplan.logical.rules.LimitOptimizer.OptimizeLimitTransformer -->
  <class name="LimitOptimizer.OptimizeLimitTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OptimizeLimitTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.LimitOptimizer.OptimizeLimitTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.LoadTypeCastInserter -->
  <class name="LoadTypeCastInserter" extends="org.apache.pig.newplan.logical.rules.TypeCastInserter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LoadTypeCastInserter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="determineSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[if we are inserting casts in a load and if the loader implements
 determineSchema(), insert casts only where necessary Note that in this
 case, the data coming out of the loader is not a BYTEARRAY but is
 whatever determineSchema() says it is.]]>
      </doc>
    </method>
    <method name="markCastInserted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="markCastNoNeed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="isCastAdjusted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.LoadTypeCastInserter -->
  <!-- start interface org.apache.pig.newplan.logical.rules.LogicalRelationalNodeValidator -->
  <interface name="LogicalRelationalNodeValidator"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="validate"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Validates logical operators as defined in the logical plan of a pig
 script.
 
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Implementors of this interface would define validations based on logical
 operators within a Pig script. The validations could be called from
 {@link HExecutionEngine#compile(org.apache.pig.newplan.logical.relational.LogicalPlan, java.util.Properties)}]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.newplan.logical.rules.LogicalRelationalNodeValidator -->
  <!-- start class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper -->
  <class name="MapKeysPruneHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapKeysPruneHelper" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="REQUIRED_MAPKEYS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This filter Marks every Load Operator which has a Map 
 with MAP_MARKER_ANNOTATION. The annotation value is 
 <code>Map<Integer,Set<String>><code> where Integer is the column number 
 of the field and Set is the set of Keys in this field ( field is a map field only ).
 
 It does this for only the top level schema in load. 
 
 Algorithm:
  Traverse the Plan in ReverseDependency order ( ie. Sink to Source )
      For LogicalRelationalOperators having MapLookupExpression in their 
          expressionPlan collect uid and keys related to it. This is
          retained in the visitor
      For ForEach having nested LogicalPlan use the same visitor hence
          there is no distinction required
      At Sources find all the uids provided by this source and annotate this 
      LogicalRelationalOperator ( load ) with <code>Map<Integer,Set<String>></code>
      containing only the column numbers that this LogicalRelationalOperator generates
      
 NOTE: This is a simple Map Pruner. If a map key is mentioned in the script
      then this pruner assumes you need the key. This pruner is not as optimized
      as column pruner ( which removes a column if it is mentioned but never used )]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper -->
  <!-- start class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper.FullMapCollector -->
  <class name="MapKeysPruneHelper.FullMapCollector" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FullMapCollector" type="org.apache.pig.newplan.OperatorPlan, java.util.Set"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="union" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cogroup" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper.FullMapCollector -->
  <!-- start class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper.MapMarker -->
  <class name="MapKeysPruneHelper.MapMarker" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapMarker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[This class collects all the information required to create
 the list of keys required for a map]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MapKeysPruneHelper.MapMarker -->
  <!-- start class org.apache.pig.newplan.logical.rules.MergeFilter -->
  <class name="MergeFilter" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MergeFilter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MergeFilter -->
  <!-- start class org.apache.pig.newplan.logical.rules.MergeFilter.MergeFilterTransformer -->
  <class name="MergeFilter.MergeFilterTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MergeFilterTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MergeFilter.MergeFilterTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.MergeForEach -->
  <class name="MergeForEach" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MergeForEach" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MergeForEach -->
  <!-- start class org.apache.pig.newplan.logical.rules.MergeForEach.MergeForEachTransformer -->
  <class name="MergeForEach.MergeForEachTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MergeForEachTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.MergeForEach.MergeForEachTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.NestedLimitOptimizer -->
  <class name="NestedLimitOptimizer" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NestedLimitOptimizer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.NestedLimitOptimizer -->
  <!-- start class org.apache.pig.newplan.logical.rules.NestedLimitOptimizer.OptimizeNestedLimitTransformer -->
  <class name="NestedLimitOptimizer.OptimizeNestedLimitTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OptimizeNestedLimitTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.NestedLimitOptimizer.OptimizeNestedLimitTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.OptimizerUtils -->
  <class name="OptimizerUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="OptimizerUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="findGenerate" return="org.apache.pig.newplan.logical.relational.LOGenerate"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <doc>
      <![CDATA[Find generate op from the foreach operator.
 @param foreach the LOForEach instance
 @return LOGenerate instance]]>
      </doc>
    </method>
    <method name="hasFlatten" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <doc>
      <![CDATA[Check if a given LOGenerate operator has any flatten fields.
 @param gen the given LOGenerate instance
 @return true if LOGenerate instance contains flatten fields, false otherwise]]>
      </doc>
    </method>
    <method name="hasFlatten" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <doc>
      <![CDATA[Helper method to find if a given LOForEach instance contains any flatten fields.
 @param foreach foreach the LOForEach instance
 @return true if LOForEach instance contains flatten fields, false otherwise]]>
      </doc>
    </method>
    <method name="planHasNonDeterministicUdf" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filterPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Helper method to determine if the logical expression plan for a Filter contains
 non-deterministic operations and should therefore be treated extra carefully
 during optimization.

 @param filterPlan
 @return true of the filter plan contains a non-deterministic UDF
 @throws FrontendException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.OptimizerUtils -->
  <!-- start class org.apache.pig.newplan.logical.rules.PartitionFilterOptimizer -->
  <class name="PartitionFilterOptimizer" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionFilterOptimizer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PartitionFilterOptimizer -->
  <!-- start class org.apache.pig.newplan.logical.rules.PartitionFilterOptimizer.PartitionFilterPushDownTransformer -->
  <class name="PartitionFilterOptimizer.PartitionFilterPushDownTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PartitionFilterPushDownTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="updateMappedColNames"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="org.apache.pig.Expression"/>
    </method>
    <method name="getMappedKeys" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="partitionKeys" type="java.lang.String[]"/>
      <doc>
      <![CDATA[The partition keys in the argument are as reported by
 {@link LoadMetadata#getPartitionKeys(String, org.apache.hadoop.conf.Configuration)}.
 The user may have renamed these by providing a schema with different names
 in the load statement - this method will replace the former names with
 the latter names.
 @param partitionKeys
 @return]]>
      </doc>
    </method>
    <method name="setupColNameMaps"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="subPlan" type="org.apache.pig.newplan.OperatorSubPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PartitionFilterOptimizer.PartitionFilterPushDownTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.PredicatePushdownOptimizer -->
  <class name="PredicatePushdownOptimizer" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PredicatePushdownOptimizer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PredicatePushdownOptimizer -->
  <!-- start class org.apache.pig.newplan.logical.rules.PushDownForEachFlatten -->
  <class name="PushDownForEachFlatten" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PushDownForEachFlatten" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[It's generally a good idea to do flattens as late as possible as
 they tend to generate more rows (and so more I/O). This optimization
 swaps the order of SORTs, CROSSes and JOINs that come after 
 FOREACH..GENERATE..FLATTENs. FILTERs are re-ordered by the 
 {@link FilterAboveForeach} rule so are ignored here.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PushDownForEachFlatten -->
  <!-- start class org.apache.pig.newplan.logical.rules.PushUpFilter -->
  <class name="PushUpFilter" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PushUpFilter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PushUpFilter -->
  <!-- start class org.apache.pig.newplan.logical.rules.PushUpFilter.PushUpFilterTransformer -->
  <class name="PushUpFilter.PushUpFilterTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PushUpFilterTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.PushUpFilter.PushUpFilterTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.SplitFilter -->
  <class name="SplitFilter" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SplitFilter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.SplitFilter -->
  <!-- start class org.apache.pig.newplan.logical.rules.SplitFilter.SplitFilterTransformer -->
  <class name="SplitFilter.SplitFilterTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SplitFilterTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.SplitFilter.SplitFilterTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.StreamTypeCastInserter -->
  <class name="StreamTypeCastInserter" extends="org.apache.pig.newplan.logical.rules.TypeCastInserter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamTypeCastInserter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="determineSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="markCastInserted"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="markCastNoNeed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="isCastAdjusted" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.StreamTypeCastInserter -->
  <!-- start class org.apache.pig.newplan.logical.rules.TypeCastInserter -->
  <class name="TypeCastInserter" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypeCastInserter" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="determineSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markCastInserted"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="markCastNoNeed"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
    <method name="isCastAdjusted" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.TypeCastInserter -->
  <!-- start class org.apache.pig.newplan.logical.rules.TypeCastInserter.TypeCastInserterTransformer -->
  <class name="TypeCastInserter.TypeCastInserterTransformer" extends="org.apache.pig.newplan.optimizer.Transformer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypeCastInserterTransformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="transform"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.TypeCastInserter.TypeCastInserterTransformer -->
  <!-- start class org.apache.pig.newplan.logical.rules.WholePlanRule -->
  <class name="WholePlanRule" extends="org.apache.pig.newplan.optimizer.Rule"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="WholePlanRule" type="java.lang.String, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="match" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Super class for all rules that operates on the whole plan. It doesn't look for
 a specific pattern. An example of such kind rule is ColumnPrune.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.rules.WholePlanRule -->
</package>
<package name="org.apache.pig.newplan.logical.visitor">
  <!-- start class org.apache.pig.newplan.logical.visitor.CastLineageSetter -->
  <class name="CastLineageSetter" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CastLineageSetter" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.plan.CompilationMessageCollector"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="exprPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Find uid lineage information. Set the load function in CastExpression 
 if it needs to convert bytearray to another type.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.CastLineageSetter -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ColumnAliasConversionVisitor -->
  <class name="ColumnAliasConversionVisitor" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ColumnAliasConversionVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="exprPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Logical plan visitor which will convert all column alias references to column
 indexes, using the underlying anonymous expression plan visitor.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ColumnAliasConversionVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.DanglingNestedNodeRemover -->
  <class name="DanglingNestedNodeRemover" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DanglingNestedNodeRemover" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.DanglingNestedNodeRemover -->
  <!-- start class org.apache.pig.newplan.logical.visitor.DuplicateForEachColumnRewriteVisitor -->
  <class name="DuplicateForEachColumnRewriteVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DuplicateForEachColumnRewriteVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.DuplicateForEachColumnRewriteVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ForEachUserSchemaVisitor -->
  <class name="ForEachUserSchemaVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ForEachUserSchemaVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ForEachUserSchemaVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ImplicitSplitInsertVisitor -->
  <class name="ImplicitSplitInsertVisitor" extends="org.apache.pig.newplan.logical.optimizer.AllSameRalationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ImplicitSplitInsertVisitor" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="execute"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ImplicitSplitInsertVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.InputOutputFileValidatorVisitor -->
  <class name="InputOutputFileValidatorVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InputOutputFileValidatorVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.InputOutputFileValidatorVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.LineageFindRelVisitor -->
  <class name="LineageFindRelVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LineageFindRelVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getUid2LoadFuncMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="innerLoad" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fe" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="relOp" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loLimit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="relOp" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="relOp" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="relOp" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="relOp" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Create mapping between uid and Load FuncSpec when the LogicalExpression 
 associated with it is known to hold an unmodified element of data returned
 by the load function.
 This information is used to find the LoadCaster to be used to cast bytearrays
 into other other types.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.LineageFindRelVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ProjectStarExpander -->
  <class name="ProjectStarExpander" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectStarExpander" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cu" type="org.apache.pig.newplan.logical.relational.LOCube"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A visitor to walk operators that contain a nested plan and translate project( * )
 operators to a list of projection operators, i.e., 
 project( * ) -> project(0), project(1), ... project(n-2), project(n-1)
 If input schema is null, project(*) is not expanded.
 It also expands project range ( eg $1 .. $5). It won't expand project-range-to-end
 (eg $3 ..) if the input schema is null.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ProjectStarExpander -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ProjectStarExpanderUtil -->
  <class name="ProjectStarExpanderUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectStarExpanderUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <doc>
    <![CDATA[Util function(s) for project-(star/range) expansion]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ProjectStarExpanderUtil -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ProjStarInUdfExpander -->
  <class name="ProjStarInUdfExpander" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjStarInUdfExpander" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="exprPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Expand project-star or project-range when used as udf argument.
 This is different from {@link ProjectStarExpander} because in those 
 cases, the project star gets expanded as new {@link LogicalExpressionPlan}.
 In case of project-star or project-range within udf, it should get expanded
 only as multiple inputs to this udf, no addtional {@link LogicalExpressionPlan}s
 are created.
 The expansion happens only if input schema is not null]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ProjStarInUdfExpander -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ResetProjectionAttachedRelationalOpVisitor -->
  <class name="ResetProjectionAttachedRelationalOpVisitor" extends="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ResetProjectionAttachedRelationalOpVisitor" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pe" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ResetProjectionAttachedRelationalOpVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ScalarVariableValidator -->
  <class name="ScalarVariableValidator" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScalarVariableValidator" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <field name="ERR_MSG_SCALAR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This validator checks the correctness of use of scalar variables in logical
 operators. It assesses the validity of the expression by making sure there is
 no projection in it. Currently it works for Limit and Sample (see PIG-1926)]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ScalarVariableValidator -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ScalarVariableValidator.ProjectFinder -->
  <class name="ScalarVariableValidator.ProjectFinder" extends="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ProjectFinder" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.newplan.PlanWalker"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="found" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="project" type="org.apache.pig.newplan.logical.expression.ProjectExpression"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ScalarVariableValidator.ProjectFinder -->
  <!-- start class org.apache.pig.newplan.logical.visitor.ScalarVisitor -->
  <class name="ScalarVisitor" extends="org.apache.pig.newplan.logical.optimizer.AllExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScalarVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.PigContext, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="getVisitor" return="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="exprPlan" type="org.apache.pig.newplan.logical.expression.LogicalExpressionPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[Logical plan visitor which handles scalar projections. It will find or create a LOStore 
 and a soft link between the store operator to a scalar expression. It will also sync the file name
 between the store and scalar expression.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.ScalarVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.SchemaAliasVisitor -->
  <class name="SchemaAliasVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SchemaAliasVisitor" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[The logic here is to check if we have duplicate alias in each schema
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="splitOutput" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="union" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cross" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.newplan.logical.relational.LOStream"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nativeMR" type="org.apache.pig.newplan.logical.relational.LONative"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.SchemaAliasVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.SortInfoSetter -->
  <class name="SortInfoSetter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SortInfoSetter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.SortInfoSetter -->
  <!-- start class org.apache.pig.newplan.logical.visitor.StoreAliasSetter -->
  <class name="StoreAliasSetter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StoreAliasSetter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.StoreAliasSetter -->
  <!-- start class org.apache.pig.newplan.logical.visitor.TypeCheckingExpVisitor -->
  <class name="TypeCheckingExpVisitor" extends="org.apache.pig.newplan.logical.expression.LogicalExpressionVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypeCheckingExpVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.plan.CompilationMessageCollector, org.apache.pig.newplan.logical.relational.LogicalRelationalOperator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.AddExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.SubtractExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.MultiplyExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.DivideExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.ModExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="negExp" type="org.apache.pig.newplan.logical.expression.NegativeExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="notExp" type="org.apache.pig.newplan.logical.expression.NotExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="orExp" type="org.apache.pig.newplan.logical.expression.OrExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="andExp" type="org.apache.pig.newplan.logical.expression.AndExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.LessThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.LessThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.GreaterThanExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.GreaterThanEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.EqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binOp" type="org.apache.pig.newplan.logical.expression.NotEqualExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.newplan.logical.expression.CastExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[For Basic Types:
 0) Casting to itself is always ok
 1) Casting from number to number is always ok
 2) ByteArray to anything is ok
 3) number to chararray is ok
 For Composite Types:
 Recursively traverse the schemas till you get a basic type
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rg" type="org.apache.pig.newplan.logical.expression.RegexExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[{@link RegexExpression} expects CharArray as input
 Itself always returns Boolean
 @param rg
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binCond" type="org.apache.pig.newplan.logical.expression.BinCondExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="map" type="org.apache.pig.newplan.logical.expression.MapLookupExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="deref" type="org.apache.pig.newplan.logical.expression.DereferenceExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="func" type="org.apache.pig.newplan.logical.expression.UserFuncExpression"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="schemaEqualsForMatching" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="udfSchema" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <param name="udfSchemaType" type="org.apache.pig.EvalFunc.SchemaType"/>
      <param name="ignoreByteArrays" type="boolean"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Compare two schemas for equality for argument matching purposes. This is
 a more relaxed form of Schema.equals wherein first the Datatypes of the
 field schema are checked for equality. Then if a field schema in the udf
 schema is for a complex type AND if the inner schema is NOT null, check
 for schema equality of the inner schemas of the UDF field schema and
 input field schema

 @param inputSchema
 @param udfSchema
 @param ignoreByteArrays
 @return true if FieldSchemas are equal for argument matching, false
         otherwise
 @throws FrontendException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.TypeCheckingExpVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.TypeCheckingRelVisitor -->
  <class name="TypeCheckingRelVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TypeCheckingRelVisitor" type="org.apache.pig.newplan.OperatorPlan, org.apache.pig.impl.plan.CompilationMessageCollector"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[The schema of filter output will be the same as filter input
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gen" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="innerLoad" type="org.apache.pig.newplan.logical.relational.LOInnerLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="forEach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="u" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[LODistinct, output schema should be the same as input
 @param op
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limit" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cs" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[Return concatenated of all fields from all input operators
 If one of the inputs have no schema then we cannot construct
 the output schema.
 @param cs
 @throws VisitorException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[The schema of sort output will be the same as sort input.
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.newplan.logical.relational.LORank"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[The schema of rank output will be the same as input, plus a rank field.
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[The schema of split output will be the same as split input]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[LOJoin visitor
 @throws FrontendException]]>
      </doc>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[COGroup
 All group by cols from all inputs have to be of the
 same type
 @throws FrontendException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.TypeCheckingRelVisitor -->
  <!-- start class org.apache.pig.newplan.logical.visitor.UDFFinder -->
  <class name="UDFFinder" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UDFFinder" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="foreach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="generate" type="org.apache.pig.newplan.logical.relational.LOGenerate"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getUDFList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return true if the plan had any UDFs; false otherwise]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.UDFFinder -->
  <!-- start class org.apache.pig.newplan.logical.visitor.UnionOnSchemaSetter -->
  <class name="UnionOnSchemaSetter" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UnionOnSchemaSetter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="union" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[A visitor that modifies the logical plan (if necessary) for union-onschema
 functionality. It runs logical plan validator so that the correct schema
 of its inputs is available. It inserts foreach statements in its input
 if the input operator schema does not match the schema created by 
 merging all input schemas.
 
 Migrated from the old UnionOnSchemaSetter class.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.logical.visitor.UnionOnSchemaSetter -->
</package>
<package name="org.apache.pig.newplan.optimizer">
  <!-- start class org.apache.pig.newplan.optimizer.PlanOptimizer -->
  <class name="PlanOptimizer" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanOptimizer" type="org.apache.pig.newplan.OperatorPlan, java.util.List, int"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param p Plan to optimize
 @param rs List of RuleSets to use to optimize
 @param iterations maximum number of optimization iterations,
 set to -1 for default]]>
      </doc>
    </constructor>
    <method name="addPlanTransformListener"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="listener" type="org.apache.pig.newplan.optimizer.PlanTransformListener"/>
      <doc>
      <![CDATA[Adds a listener to the optimization.  This listener will be fired
 after each rule transforms a plan.  Listeners are guaranteed to
 be fired in the order they are added.
 @param listener]]>
      </doc>
    </method>
    <method name="optimize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Run the optimizer.  This method attempts to match each of the Rules
 against the plan.  If a Rule matches, it then calls the check
 method of the associated Transformer to give the it a chance to
 check whether it really wants to do the optimization.  If that
 returns true as well, then Transformer.transform is called.
 @throws FrontendException]]>
      </doc>
    </method>
    <field name="ruleSets" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="plan" type="org.apache.pig.newplan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="listeners" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="maxIter" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[The core class of the optimizer.  The basic design of this class is that it
 is provided a list of RuleSets.  RuleSets represent all of the optimizer
 rules that can be run together.  The rules in the RuleSet will be run
 repeatedly until either no rule in the RuleSet passes check and calls
 transform or until maxIter iterations (default 500) has been made over
 the RuleSet.  Then the next RuleSet will be moved to.  Once finished,
 a given RuleSet is never returned to.

 Each rule is has two parts:  a pattern and and associated transformer.
 Transformers have two important functions:   check(), and transform().
 The pattern describes a pattern of node types that the optimizer will
 look to match.  If that match is found anywhere in the plan, then check()
 will be called.  check() allows the rule to look more in depth at the
 matched pattern and decide whether the rule should be run or not.  For
 example, one might design a rule to push filters above join that would
 look for the pattern filter(join) (meaning a filter followed by a join).
 But only certain types of filters can be pushed.  The check() function
 would need to decide whether the filter that it found was pushable or not.
 If check() returns true, the rule is said to have matched, and transform()
 is then called.  This function is responsible for making changes in the
 logical plan.  Once transform is complete PlanPatcher.patchUp will be
 called to do any necessary cleanup in the plan, such as resetting
 schemas, etc.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.optimizer.PlanOptimizer -->
  <!-- start interface org.apache.pig.newplan.optimizer.PlanTransformListener -->
  <interface name="PlanTransformListener"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="transformed"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fp" type="org.apache.pig.newplan.OperatorPlan"/>
      <param name="tp" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Notification that a plan has been transformed.  The listener is free in
 this method to make changes to the annotations on the plan now that it
 has been transformed.
 @param fp  the full plan that has been transformed
 @param tp  a plan containing only the operators that have been transformed
 @throws FrontendException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[An interface to describe listeners that are notified when a plan is
 modified.  The purpose of these listeners is to make modifications to
 annotations on the plan after the plan is modified.  For example, if there
 is a plan that has ... -&gt; Join -&gt; Filter -&gt; ... which is transformed
 by pushing the filter before the join, then the input schema of the filter
 will mostly likely change.  A schema listener can be used to make these
 changes.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.newplan.optimizer.PlanTransformListener -->
  <!-- start class org.apache.pig.newplan.optimizer.Rule -->
  <class name="Rule" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Rule" type="java.lang.String, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Create this rule by using the default pattern that this rule provided
 @param n Name of this rule
 @param mandatory if it is set to false, this rule can be disabled by user]]>
      </doc>
    </constructor>
    <constructor name="Rule" type="java.lang.String, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param n Name of this rule
 @param p Pattern to look for.]]>
      </doc>
    </constructor>
    <method name="buildPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Build the pattern that this rule will look for
 @return  the pattern to look for by this rule]]>
      </doc>
    </method>
    <method name="getNewTransformer" return="org.apache.pig.newplan.optimizer.Transformer"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the transformer for this rule.  Abstract because the rule
 may want to choose how to instantiate the transformer.  
 This should never return a cached transformer, it should
 always return a fresh one with no state.
 @return Transformer to use with this rule]]>
      </doc>
    </method>
    <method name="getPattern" return="org.apache.pig.newplan.OperatorPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Return the pattern to be matched for this rule
 @return the pattern to be matched for this rule]]>
      </doc>
    </method>
    <method name="isSkipListener" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="setSkipListener"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="skip" type="boolean"/>
    </method>
    <method name="match" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Search for all the sub-plans that matches the pattern
 defined by this rule. 
 See class description above for limitations on the patterns supported.
 @return A list of all matched sub-plans. The returned plans are
        partial views of the original OperatorPlan. Each is a 
        sub-set of the original plan and represents the same
        topology as the pattern, but operators in the returned plan  
        are the same objects as the original plan. Therefore, 
        a call getPlan() from any node in the return plan would 
        return the original plan.
        
 @param plan the OperatorPlan to look for matches to the pattern]]>
      </doc>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isMandatory" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="name" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pattern" type="org.apache.pig.newplan.OperatorPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="currentPlan" type="org.apache.pig.newplan.OperatorPlan"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="log" type="org.apache.commons.logging.Log"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Rules describe a pattern of operators.  They also reference a Transformer.
 If the pattern of operators is found one or more times in the provided plan,
 then the optimizer will use the associated Transformer to transform the
 plan.
 Note: the pattern matching logic implemented here has a limitation 
 that it assumes that all the leaves in the pattern are siblings. See more 
 detailed description here - https://issues.apache.org/jira/browse/PIG-1742
 If new rules use patterns that don't work with this limitation, the pattern
 match logic will need to be updated.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.newplan.optimizer.Rule -->
  <!-- start class org.apache.pig.newplan.optimizer.Transformer -->
  <class name="Transformer" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Transformer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="check" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[check if the transform should be done.  If this is being called then
 the pattern matches, but there may be other criteria that must be met
 as well.
 @param matched the sub-set of the plan that matches the pattern. This 
        subset has the same graph as the pattern, but the operators
        point to the same objects as the plan to be matched.
 @return true if the transform should be done.
 @throws Transformer]]>
      </doc>
    </method>
    <method name="transform"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="matched" type="org.apache.pig.newplan.OperatorPlan"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Transform the tree
 @param matched the sub-set of the plan that matches the pattern. This 
        subset has the same graph as the pattern, but the operators
        point to the same objects as the plan to be matched.
 @throws Transformer]]>
      </doc>
    </method>
    <method name="reportChanges" return="org.apache.pig.newplan.OperatorPlan"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Report what parts of the tree were transformed.  This is so that 
 listeners can know which part of the tree to visit and modify
 schemas, annotations, etc.  So any nodes that were removed need
 will not be in this plan, only nodes that were added or moved.
 @return OperatorPlan that describes just the changed nodes.]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.newplan.optimizer.Transformer -->
</package>
<package name="org.apache.pig.parser">
  <!-- start class org.apache.pig.parser.DryRunGruntParser -->
  <class name="DryRunGruntParser" extends="org.apache.pig.tools.pigscript.parser.PigScriptParser"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DryRunGruntParser" type="java.io.Reader, java.lang.String, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getResult" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="parseStopOnError" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="prompt"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="quit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="printAliases"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processFsCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmdTokens" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processShCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmdTokens" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processSQLCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDescribe"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processExplain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <param name="isVerbose" type="boolean"/>
      <param name="format" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processRegister"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jar" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processRegister"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="scriptingEngine" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processSet"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processSet"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCD"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processKill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jobid" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processLS"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processPWD"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="printHelp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="processHistory"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="withNumbers" type="boolean"/>
    </method>
    <method name="processMove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopyToLocal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopyFromLocal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processMkdir"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dir" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processPig"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processRemove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="opt" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processIllustrate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="script" type="java.lang.String"/>
      <param name="batch" type="boolean"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="printClear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="processDefault"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDeclare"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.parser.DryRunGruntParser -->
  <!-- start class org.apache.pig.parser.DuplicatedSchemaAliasException -->
  <class name="DuplicatedSchemaAliasException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DuplicatedSchemaAliasException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.DuplicatedSchemaAliasException -->
  <!-- start class org.apache.pig.parser.InvalidCommandException -->
  <class name="InvalidCommandException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvalidCommandException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCmd" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.InvalidCommandException -->
  <!-- start class org.apache.pig.parser.InvalidPathException -->
  <class name="InvalidPathException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvalidPathException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.net.MalformedURLException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEx" return="java.net.MalformedURLException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.InvalidPathException -->
  <!-- start class org.apache.pig.parser.InvalidScalarProjectionException -->
  <class name="InvalidScalarProjectionException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvalidScalarProjectionException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, org.apache.pig.newplan.logical.expression.ScalarExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="InvalidScalarProjectionException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, org.apache.pig.newplan.logical.expression.ScalarExpression, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Constructor that takes an additional string to be concatenated 
  with the exception message]]>
      </doc>
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.InvalidScalarProjectionException -->
  <!-- start class org.apache.pig.parser.LogicalPlanBuilder -->
  <class name="LogicalPlanBuilder" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getNextId" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
    </method>
    <method name="newOperatorKey" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
    </method>
    <method name="typeToClass" return="java.lang.Class"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="clazz" type="java.lang.Class"/>
    </method>
    <method name="getLastRel" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loc" type="org.apache.pig.parser.SourceLocation"/>
      <exception name="ParserValidationException" type="org.apache.pig.parser.ParserValidationException"/>
    </method>
    <method name="getLastRel" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.LogicalPlanBuilder -->
  <!-- start class org.apache.pig.parser.NonProjectExpressionException -->
  <class name="NonProjectExpressionException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="NonProjectExpressionException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, org.apache.pig.newplan.logical.expression.LogicalExpression"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getExpression" return="org.apache.pig.newplan.logical.expression.LogicalExpression"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.NonProjectExpressionException -->
  <!-- start class org.apache.pig.parser.ParserException -->
  <class name="ParserException" extends="org.apache.pig.impl.logicalLayer.FrontendException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParserException" type="org.antlr.runtime.RecognitionException"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ParserException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ParserException" type="java.lang.String, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ParserException" type="java.lang.String, java.lang.Throwable"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.ParserException -->
  <!-- start class org.apache.pig.parser.ParserValidationException -->
  <class name="ParserValidationException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParserValidationException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ParserValidationException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.Exception"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCause" return="java.lang.Throwable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.ParserValidationException -->
  <!-- start class org.apache.pig.parser.PigParserNode -->
  <class name="PigParserNode" extends="org.antlr.runtime.tree.CommonTree"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigParserNode" type="org.antlr.runtime.Token, java.lang.String, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigParserNode" type="org.antlr.runtime.Token, java.lang.String, org.antlr.runtime.Token"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="PigParserNode" type="org.apache.pig.parser.PigParserNode"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="dupNode" return="org.antlr.runtime.tree.Tree"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getStartLine" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInvocationStack"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stack" type="java.util.List"/>
    </method>
    <method name="getInvocationStack" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNextInvocationPoint" return="org.apache.pig.parser.PigParserNode.InvocationPoint"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.PigParserNode -->
  <!-- start class org.apache.pig.parser.PigParserNode.InvocationPoint -->
  <class name="PigParserNode.InvocationPoint" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="InvocationPoint" type="int, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLine" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFile" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMacro" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.PigParserNode.InvocationPoint -->
  <!-- start class org.apache.pig.parser.PigParserNodeAdaptor -->
  <class name="PigParserNodeAdaptor" extends="org.antlr.runtime.tree.CommonTreeAdaptor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="create" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.antlr.runtime.Token"/>
    </method>
  </class>
  <!-- end class org.apache.pig.parser.PigParserNodeAdaptor -->
  <!-- start class org.apache.pig.parser.PigRecognitionException -->
  <class name="PigRecognitionException" extends="org.antlr.runtime.RecognitionException"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigRecognitionException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="msgHeader" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Subclass of Antlr RecognitionException which should be the parent class of all parser related 
 exception classes. We need this layer because of the line number problem in tree parser in 
 Antlr-3.2. You will need a token where the exception occurs in order to instantiate an instance
 of this class.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.parser.PigRecognitionException -->
  <!-- start class org.apache.pig.parser.PlanGenerationFailureException -->
  <class name="PlanGenerationFailureException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PlanGenerationFailureException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.Exception"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEx" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getCause" return="java.lang.Throwable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.PlanGenerationFailureException -->
  <!-- start class org.apache.pig.parser.QueryParserDriver -->
  <class name="QueryParserDriver" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="QueryParserDriver" type="org.apache.pig.impl.PigContext, java.lang.String, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="parseSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
    </method>
    <method name="parseConstant" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
    </method>
    <method name="parse" return="org.apache.pig.newplan.logical.relational.LogicalPlan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="query" type="java.lang.String"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
    </method>
    <method name="getOperators" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLastRel" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.QueryParserDriver -->
  <!-- start class org.apache.pig.parser.QueryParserFileStream -->
  <class name="QueryParserFileStream" extends="org.antlr.runtime.ANTLRFileStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="QueryParserFileStream" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="QueryParserFileStream" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="LA" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <doc>
    <![CDATA[Pig's implementation class of file stream, used to make ANTLR case insensitive
  while preserving case.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.parser.QueryParserFileStream -->
  <!-- start class org.apache.pig.parser.QueryParserStreamUtil -->
  <class name="QueryParserStreamUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="QueryParserStreamUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="LA" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
      <param name="n" type="int"/>
      <param name="p" type="int"/>
      <param name="data" type="char[]"/>
      <doc>
      <![CDATA[Refer to ANTLRStringStream class for definitions of n, p, and data.
 @param i look ahead number]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.parser.QueryParserStreamUtil -->
  <!-- start class org.apache.pig.parser.QueryParserStringStream -->
  <class name="QueryParserStringStream" extends="org.antlr.runtime.ANTLRStringStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="QueryParserStringStream" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="LA" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="i" type="int"/>
    </method>
    <doc>
    <![CDATA[Pig's Implementation class for String stream, used to make ANTLR case insensitive
  while preserving case.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.parser.QueryParserStringStream -->
  <!-- start class org.apache.pig.parser.QueryParserUtils -->
  <class name="QueryParserUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="QueryParserUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="removeQuotes" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="str" type="java.lang.String"/>
    </method>
    <method name="attachStorePlan"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scope" type="java.lang.String"/>
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="fileName" type="java.lang.String"/>
      <param name="func" type="java.lang.String"/>
      <param name="input" type="org.apache.pig.newplan.Operator"/>
      <param name="alias" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.parser.QueryParserUtils -->
  <!-- start class org.apache.pig.parser.RegisterResolver -->
  <class name="RegisterResolver" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RegisterResolver" type="org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="parseRegister"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="scriptingLang" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param path
 @param scriptingLang
 @param namespace
 @throws IOException]]>
      </doc>
    </method>
    <method name="resolve" return="java.net.URI[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.net.URI"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param uri
 @return List of URIs
 @throws IOException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.parser.RegisterResolver -->
  <!-- start class org.apache.pig.parser.SourceLocation -->
  <class name="SourceLocation" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SourceLocation" type="java.lang.String, int, int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SourceLocation" type="org.apache.pig.parser.PigParserNode"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SourceLocation" type="org.apache.pig.parser.SourceLocation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="file" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="line" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="offset" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="node" return="org.apache.pig.parser.PigParserNode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.SourceLocation -->
  <!-- start class org.apache.pig.parser.StreamingCommandUtils -->
  <class name="StreamingCommandUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamingCommandUtils" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.parser.StreamingCommandUtils -->
  <!-- start class org.apache.pig.parser.UndefinedAliasException -->
  <class name="UndefinedAliasException" extends="org.apache.pig.parser.PigRecognitionException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="UndefinedAliasException" type="org.antlr.runtime.IntStream, org.apache.pig.parser.SourceLocation, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.parser.UndefinedAliasException -->
</package>
<package name="org.apache.pig.pen">
  <!-- start class org.apache.pig.pen.AugmentBaseDataVisitor -->
  <class name="AugmentBaseDataVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AugmentBaseDataVisitor" type="org.apache.pig.newplan.OperatorPlan, java.util.Map, java.util.Map, java.util.Map"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="setLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNewBaseData" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getOriLimitMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cs" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="forEach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="u" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lm" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.AugmentBaseDataVisitor -->
  <!-- start class org.apache.pig.pen.EquivalenceClasses -->
  <class name="EquivalenceClasses" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EquivalenceClasses"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLoToEqClassMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="logToPhyMap" type="java.util.Map"/>
      <param name="logToDataMap" type="java.util.Map"/>
      <param name="forEachInnerLogToPhyMap" type="java.util.Map"/>
      <param name="poToEqclassesMap" type="java.util.HashMap"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.EquivalenceClasses -->
  <!-- start class org.apache.pig.pen.ExampleGenerator -->
  <class name="ExampleGenerator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExampleGenerator" type="org.apache.pig.newplan.logical.relational.LogicalPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getLineage" return="org.apache.pig.pen.util.LineageTracer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLogToPhyMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setMaxRecords"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="max" type="int"/>
    </method>
    <method name="getExamples" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getData" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getData" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newBaseData" type="java.util.Map"/>
      <exception name="Exception" type="java.lang.Exception"/>
    </method>
    <method name="getEqClasses" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLoToEqClassMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class is used to generate example tuples for the ILLUSTRATE purpose]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.pen.ExampleGenerator -->
  <!-- start class org.apache.pig.pen.FakeRawKeyValueIterator -->
  <class name="FakeRawKeyValueIterator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.mapred.RawKeyValueIterator"/>
    <constructor name="FakeRawKeyValueIterator" type="boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getKey" return="org.apache.hadoop.io.DataInputBuffer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="close"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProgress" return="org.apache.hadoop.util.Progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="org.apache.hadoop.io.DataInputBuffer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="next" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.pen.FakeRawKeyValueIterator -->
  <!-- start interface org.apache.pig.pen.Illustrable -->
  <interface name="Illustrable"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="setIllustrator"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="illustrator" type="org.apache.pig.pen.Illustrator"/>
    </method>
    <method name="illustratorMarkup" return="org.apache.pig.data.Tuple"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.lang.Object"/>
      <param name="out" type="java.lang.Object"/>
      <param name="eqClassIndex" type="int"/>
      <doc>
      <![CDATA[input tuple mark up to be illustrate-able
 @param in             input tuple
 @param out            output tuple before wrapped in ExampleTuple
 @param eqClassIndex   index into equivalence classes in illustrator
 
 @return               tuple]]>
      </doc>
    </method>
  </interface>
  <!-- end interface org.apache.pig.pen.Illustrable -->
  <!-- start class org.apache.pig.pen.Illustrator -->
  <class name="Illustrator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Illustrator" type="org.apache.pig.pen.util.LineageTracer, java.util.LinkedList, org.apache.pig.pen.IllustratorAttacher, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Illustrator" type="org.apache.pig.pen.util.LineageTracer, java.util.LinkedList, int, org.apache.pig.pen.IllustratorAttacher, org.apache.pig.newplan.logical.relational.LogicalSchema, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getSubExpResults" return="java.util.ArrayList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLineage" return="org.apache.pig.pen.util.LineageTracer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEquivalenceClasses" return="java.util.LinkedList"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSubExpResult"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="result" type="boolean"/>
    </method>
    <method name="setEquivalenceClasses"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eqClasses" type="java.util.LinkedList"/>
      <param name="po" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.PhysicalOperator"/>
    </method>
    <method name="ceilingCheck" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="org.apache.pig.impl.util.IdentityHashSet"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addInputs"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="inputs" type="org.apache.pig.impl.util.IdentityHashSet"/>
    </method>
    <method name="addData"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getData" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOriginalLimit" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setOriginalLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="oriLimit" type="long"/>
    </method>
    <method name="setEqClassesShared"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getEqClassesShared" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSchema" return="org.apache.pig.newplan.logical.relational.LogicalSchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Class used by physical operators to generate example tuples for the ILLUSTRATE
 purpose]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.pen.Illustrator -->
  <!-- start class org.apache.pig.pen.IllustratorAttacher -->
  <class name="IllustratorAttacher" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IllustratorAttacher" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.pen.util.LineageTracer, int, java.util.Map, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </constructor>
    <method name="revisit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[revisit an enhanced physical plan from MR compilation
 @param plan a physical plan to be traversed]]>
      </doc>
    </method>
    <method name="getDataMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ld" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="st" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="un" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="spl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDemux"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="demux" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRank"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rank" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PORank"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="counter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCounter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitProject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="proj" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POProject"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGreaterThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="grt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GreaterThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLessThan"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lt" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LessThanExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitGTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="gte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.GTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLTOrEqual"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lte" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.LTOrEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.EqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNotEqualTo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="eq" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.NotEqualToExpr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitRegexp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="re" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PORegexp"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitIsNull"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isNull" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POIsNull"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitAnd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="and" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POAnd"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitOr"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="or" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POOr"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitNot"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="not" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONot"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitBinCond"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="binCond" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POBinCond"/>
    </method>
    <method name="visitNegative"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="negative" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.PONegative"/>
    </method>
    <method name="visitUserFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="userFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitComparisonFunc"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="compFunc" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POUserComparisonFunc"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMapLookUp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mapLookUp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POMapLookUp"/>
    </method>
    <method name="visitCast"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cast" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.expressionOperators.POCast"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lim" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOOptimizedForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="optimizedForEach" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POOptimizedForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
      <doc>
      <![CDATA[@param optimizedForEach]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The class used to (re)attach illustrators to physical operators]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.pen.IllustratorAttacher -->
  <!-- start class org.apache.pig.pen.LineageTrimmingVisitor -->
  <class name="LineageTrimmingVisitor" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LineageTrimmingVisitor" type="org.apache.pig.newplan.logical.relational.LogicalPlan, java.util.Map, org.apache.pig.pen.ExampleGenerator, java.util.Map, org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </constructor>
    <method name="init"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cs" type="org.apache.pig.newplan.logical.relational.LOCross"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dt" type="org.apache.pig.newplan.logical.relational.LODistinct"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filter" type="org.apache.pig.newplan.logical.relational.LOFilter"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.newplan.logical.relational.LOStore"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="forEach" type="org.apache.pig.newplan.logical.relational.LOForEach"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="limOp" type="org.apache.pig.newplan.logical.relational.LOLimit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.newplan.logical.relational.LOLoad"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="s" type="org.apache.pig.newplan.logical.relational.LOSort"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplit"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.newplan.logical.relational.LOSplitOutput"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="u" type="org.apache.pig.newplan.logical.relational.LOUnion"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.LineageTrimmingVisitor -->
  <!-- start class org.apache.pig.pen.LocalMapReduceSimulator -->
  <class name="LocalMapReduceSimulator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LocalMapReduceSimulator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="launchPig"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="php" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"/>
      <param name="baseData" type="java.util.Map"/>
      <param name="lineage" type="org.apache.pig.pen.util.LineageTracer"/>
      <param name="attacher" type="org.apache.pig.pen.IllustratorAttacher"/>
      <param name="eg" type="org.apache.pig.pen.ExampleGenerator"/>
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <exception name="PigException" type="org.apache.pig.PigException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="getPhyToMRMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Main class that launches pig for Map Reduce]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.pen.LocalMapReduceSimulator -->
  <!-- start class org.apache.pig.pen.PhysicalPlanResetter -->
  <class name="PhysicalPlanResetter" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PhysicalPlanResetter" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitPackage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pkg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPackage"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <doc>
    <![CDATA[This visitor visits the physical plan and resets it for next MRCompilation]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.pen.PhysicalPlanResetter -->
  <!-- start class org.apache.pig.pen.POOptimizeDisabler -->
  <class name="POOptimizeDisabler" extends="org.apache.pig.newplan.logical.relational.LogicalRelationalNodesVisitor"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="POOptimizeDisabler" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.newplan.logical.relational.LOJoin"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cg" type="org.apache.pig.newplan.logical.relational.LOCogroup"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.POOptimizeDisabler -->
</package>
<package name="org.apache.pig.pen.util">
  <!-- start class org.apache.pig.pen.util.DisplayExamples -->
  <class name="DisplayExamples" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DisplayExamples"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="printTabular" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="exampleData" type="java.util.Map"/>
      <param name="forEachInnerLogToDataMap" type="java.util.Map"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="printSimple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="exampleData" type="java.util.Map"/>
    </method>
    <field name="MAX_DATAATOM_LENGTH" type="int"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.pen.util.DisplayExamples -->
  <!-- start class org.apache.pig.pen.util.ExampleTuple -->
  <class name="ExampleTuple" extends="org.apache.pig.data.AbstractTuple"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ExampleTuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ExampleTuple" type="java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="ExampleTuple" type="org.apache.pig.data.Tuple"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="write"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.DataOutput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="readFields"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="in" type="java.io.DataInput"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="toTuple" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="val" type="java.lang.Object"/>
    </method>
    <method name="get" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="getAll" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMemorySize" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getType" return="byte"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="isNull" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="reference"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fieldNum" type="int"/>
      <param name="val" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="size" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="compareTo" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
    </method>
    <field name="synthetic" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="omittable" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.pen.util.ExampleTuple -->
  <!-- start class org.apache.pig.pen.util.LineageTracer -->
  <class name="LineageTracer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LineageTracer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="insert"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="union"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t1" type="org.apache.pig.data.Tuple"/>
      <param name="t2" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getRepresentative" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getCounts" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getWeightedCounts" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="syntheticMultipler" type="float"/>
      <param name="omittableMultiplier" type="float"/>
    </method>
    <method name="getMembers" return="java.util.Collection"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="org.apache.pig.data.Tuple"/>
    </method>
    <method name="getMembershipMap" return="java.util.IdentityHashMap"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.pen.util.LineageTracer -->
  <!-- start class org.apache.pig.pen.util.MetricEvaluation -->
  <class name="MetricEvaluation" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MetricEvaluation"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getRealness" return="float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="exampleData" type="java.util.Map"/>
      <param name="overallRealness" type="boolean"/>
    </method>
    <method name="getConciseness" return="float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="exampleData" type="java.util.Map"/>
      <param name="OperatorToEqClasses" type="java.util.Map"/>
      <param name="overallConciseness" type="boolean"/>
    </method>
    <method name="getCompleteness" return="float"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.newplan.Operator"/>
      <param name="exampleData" type="java.util.Map"/>
      <param name="OperatorToEqClasses" type="java.util.Map"/>
      <param name="overallCompleteness" type="boolean"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.util.MetricEvaluation -->
  <!-- start class org.apache.pig.pen.util.PreOrderDepthFirstWalker -->
  <class name="PreOrderDepthFirstWalker" extends="org.apache.pig.newplan.PlanWalker"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PreOrderDepthFirstWalker" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param plan
            Plan for this walker to traverse.]]>
      </doc>
    </constructor>
    <method name="setBranchFlag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBranchFlag" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="walk"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="visitor" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Begin traversing the graph.
 
 @param visitor
            Visitor this walker is being used by.
 @throws VisitorException
             if an error is encountered while walking.]]>
      </doc>
    </method>
    <method name="spawnChildWalker" return="org.apache.pig.newplan.PlanWalker"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.OperatorPlan"/>
    </method>
  </class>
  <!-- end class org.apache.pig.pen.util.PreOrderDepthFirstWalker -->
</package>
<package name="org.apache.pig.scripting">
  <!-- start class org.apache.pig.scripting.BoundScript -->
  <class name="BoundScript" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="runSingle" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run a pipeline on Hadoop.
 If there are no stores in this pipeline then nothing will be run.
 @return {@link PigStats}, null if there is no bound query to run.
 @throws IOException]]>
      </doc>
    </method>
    <method name="runSingle" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="prop" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run a pipeline on Hadoop.
 If there are no stores in this pipeline then nothing will be run.
 @param prop Map of properties that Pig should set when running the script.
 This is intended for use with scripting languages that do not support
 the Properties object.
 @return {@link PigStats}, null if there is no bound query to run.
 @throws IOException]]>
      </doc>
    </method>
    <method name="runSingle" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="propfile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run a pipeline on Hadoop.
 If there are no stores in this pipeline then nothing will be run.
 @param propfile File with properties that Pig should set when running the script.
 @return {@link PigStats}, null if there is no bound query to run.
 @throws IOException]]>
      </doc>
    </method>
    <method name="run" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run multiple instances of bound pipeline on Hadoop in parallel.
 If there are no stores in this pipeline then nothing will be run.
 Bind is called first with the list of maps of variables to bind.
 @return a list of {@link PigStats}, one for each map of variables passed
 to bind.
 @throws IOException]]>
      </doc>
    </method>
    <method name="run" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="prop" type="java.util.Properties"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run multiple instances of bound pipeline on Hadoop in parallel.
 @param prop Map of properties that Pig should set when running the script.
 This is intended for use with scripting languages that do not support
 the Properties object.
 @return a list of {@link PigStats}, one for each map of variables passed
 to bind.
 @throws IOException]]>
      </doc>
    </method>
    <method name="run" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="propfile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run multiple instances of bound pipeline on Hadoop in parallel.
 @param propfile File with properties that Pig should set when running the script.
 @return a list of PigResults, one for each map of variables passed
 to bind.
 @throws IOException]]>
      </doc>
    </method>
    <method name="illustrate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run illustrate for this pipeline.  Results will be printed to stdout.
 @throws IOException if illustrate fails.]]>
      </doc>
    </method>
    <method name="explain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Explain this pipeline.  Results will be printed to stdout.
 @throws IOException if explain fails.]]>
      </doc>
    </method>
    <method name="describe"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Describe the schema of an alias in this pipeline.
 Results will be printed to stdout.
 @param alias to be described
 @throws IOException if describe fails.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This represents an instance of a bound pipeline.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.BoundScript -->
  <!-- start class org.apache.pig.scripting.Pig -->
  <class name="Pig" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Pig" type="java.lang.String, org.apache.pig.scripting.ScriptPigContext, java.lang.String"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="fs" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run a filesystem command.  Any output from this command is written to
 stdout or stderr as appropriate.
 @param cmd Filesystem command to run along with its arguments as one
 string.
 @throws IOException]]>
      </doc>
    </method>
    <method name="sql" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Run a sql command.  Any output from this command is written to
 stdout or stderr as appropriate.
 @param cmd sql command to run along with its arguments as one
 string. Currently only hcat is supported as a sql backend
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerJar"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jarfile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register a jar for use in Pig.  Once this is done this jar will be
 registered for <b>all subsequent</b> Pig pipelines in this script.
 If you wish to register it for only a single Pig pipeline, use
 register within that definition.
 @param jarfile Path of jar to include.
 @throws IOException if the indicated jarfile cannot be found.]]>
      </doc>
    </method>
    <method name="registerUDF"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udffile" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Register scripting UDFs for use in Pig. Once this is done all UDFs
 defined in the file will be available for <b>all subsequent</b>
 Pig pipelines in this script. If you wish to register UDFS for
 only a single Pig pipeline, use register within that definition.
 @param udffile Path of the script UDF file
 @param namespace namespace of the UDFs
 @throws IOException]]>
      </doc>
    </method>
    <method name="define"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="definition" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define an alias for a UDF or a streaming command.  This definition
 will then be present for <b>all subsequent</b> Pig pipelines defined in this
 script.  If you wish to define it for only a single Pig pipeline, use
 define within that definition.
 @param alias name of the defined alias
 @param definition string this alias is defined as]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="var" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Set a variable for use in Pig Latin.  This set
 will then be present for <b>all subsequent</b> Pig pipelines defined in this
 script.  If you wish to set it for only a single Pig pipeline, use
 set within that definition.
 @param var variable to set
 @param value to set it to]]>
      </doc>
    </method>
    <method name="compile" return="org.apache.pig.scripting.Pig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pl" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a Pig pipeline.
 @param pl Pig Latin definition of the pipeline.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile.]]>
      </doc>
    </method>
    <method name="compile" return="org.apache.pig.scripting.Pig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="pl" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a named portion of a Pig pipeline.  This allows it
 to be imported into another pipeline.
 @param name Name that will be used to define this pipeline.
 The namespace is global.
 @param pl Pig Latin definition of the pipeline.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile.]]>
      </doc>
    </method>
    <method name="compileFromFile" return="org.apache.pig.scripting.Pig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a Pig pipeline based on Pig Latin in a separate file.
 @param filename File to read Pig Latin from.  This must be a purely
 Pig Latin file.  It cannot contain host language constructs in it.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile or the file
 cannot be found.]]>
      </doc>
    </method>
    <method name="compileFromFile" return="org.apache.pig.scripting.Pig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a named Pig pipeline based on Pig Latin in a separate file.
 This allows it to be imported into another pipeline.
 @param name Name that will be used to define this pipeline.
 The namespace is global.
 @param filename File to read Pig Latin from.  This must be a purely
 Pig Latin file.  It cannot contain host language constructs in it.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile or the file
 cannot be found.]]>
      </doc>
    </method>
    <method name="bind" return="org.apache.pig.scripting.BoundScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vars" type="java.util.Map"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Bind this to a set of variables. Values must be provided
 for all Pig Latin parameters.
 @param vars map of variables to bind.  Keys should be parameters defined
 in the Pig Latin.  Values should be strings that provide values for those
 parameters.  They can be either constants or variables from the host
 language.  Host language variables must contain strings.
 @return a {@link BoundScript} object
 @throws IOException if there is not a key for each
 Pig Latin parameter or if they contain unsupported types.]]>
      </doc>
    </method>
    <method name="bind" return="org.apache.pig.scripting.BoundScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vars" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Bind this to multiple sets of variables.  This will
 cause the Pig Latin script to be executed in parallel over these sets of
 variables.
 @param vars list of maps of variables to bind.  Keys should be parameters defined
 in the Pig Latin.  Values should be strings that provide values for those
 variables.  They can be either constants or variables from the host
 language.  Host language variables must be strings.
 @return a {@link BoundScript} object
 @throws IOException  if there is not a key for each
 Pig Latin parameter or if they contain unsupported types.]]>
      </doc>
    </method>
    <method name="bind" return="org.apache.pig.scripting.BoundScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Bind a Pig object to variables in the host language (optional
 operation).  This does an implicit mapping of variables in the host
 language to parameters in Pig Latin.  For example, if the user
 provides a Pig Latin statement
 <tt> p = Pig.compile("A = load '$input';");</tt>
 and then calls this function it will look for a variable called
 <tt>input</tt> in the host language.  Scoping rules of the host
 language will be followed in selecting which variable to bind.  The
 variable bound must contain a string value.  This method is optional
 because not all host languages may support searching for in scope
 variables.
 @throws IOException if host language variables are not found to resolve all
 Pig Latin parameters or if they contain unsupported types.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[The class being used in scripts to interact with Pig]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.Pig -->
  <!-- start class org.apache.pig.scripting.ScriptEngine -->
  <class name="ScriptEngine" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getScriptAsStream" return="java.io.InputStream"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptPath" type="java.lang.String"/>
      <doc>
      <![CDATA[open a stream load a script locally or in the classpath
 @param scriptPath the path of the script
 @return a stream (it is the responsibility of the caller to close it)
 @throws IllegalStateException if we could not open a stream]]>
      </doc>
    </method>
    <method name="getSupportedScriptLang" return="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param file the file to inspect
 @return the Supported Script Lang if this is a supported script language
 @throws IOException if there was an error reading the file or if the file defines explicitly an unknown #!]]>
      </doc>
    </method>
    <method name="registerFunctions"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Registers scripting language functions as Pig functions with given namespace
 
 @param path path of the script
 @param namespace namespace for the functions
 @param pigContext pigcontext to register functions to pig in the given namespace
 @throws IOException]]>
      </doc>
    </method>
    <method name="main" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Actually runs the script file. This method will be implemented by 
 individual script engines.
 
 @param context {@link ScriptPigContext} to run the script file
 @param scriptFile the file
 @throws IOException]]>
      </doc>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Gets ScriptEngine classname or keyword for the scripting language]]>
      </doc>
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Returns a map from local variable names to their values
 @throws IOException]]>
      </doc>
    </method>
    <method name="getJarPath" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="clazz" type="java.lang.Class"/>
      <exception name="FileNotFoundException" type="java.io.FileNotFoundException"/>
      <doc>
      <![CDATA[Figures out the jar location from the class 
 @param clazz class in the jar file
 @return the jar file location, null if the class was not loaded from a jar
 @throws FileNotFoundException]]>
      </doc>
    </method>
    <method name="getInstance" return="org.apache.pig.scripting.ScriptEngine"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptingLang" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Gets instance of the scriptEngine for the given scripting language
 
 @param scriptingLang ScriptEngine classname or keyword for the scriptingLang
 @return scriptengine for the given scripting language
 @throws IOException]]>
      </doc>
    </method>
    <method name="run" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Runs a script file. 
 @param pigContext {@link PigContext} to run the script file
 @param scriptFile the file
 @return a collection of {@link PigStats} objects. One for each runtime 
 instance of {@link Pig} in the script. For named pipelines, the
 map key is the name of the pipeline. For unnamed pipeline, the map key 
 is the script id associated with the instance. 
 @throws ExecException
 @throws IOException]]>
      </doc>
    </method>
    <method name="getPigStatsMap" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Gets the collection of {@link PigStats} after the script is run.]]>
      </doc>
    </method>
    <field name="NAMESPACE_SEPARATOR" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Base class for various scripting implementations]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.ScriptEngine -->
  <!-- start class org.apache.pig.scripting.ScriptEngine.SupportedScriptLang -->
  <class name="ScriptEngine.SupportedScriptLang" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="contains" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="supportedScriptLang" type="java.lang.String"/>
    </method>
    <method name="accepts" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="java.lang.String"/>
      <param name="firstLine" type="java.lang.String"/>
      <doc>
      <![CDATA[If other discovery mechanisms come up they can also override accepts()
 @param file the path of the file
 @param firstLine The first line of the file (possibly containing #!...)]]>
      </doc>
    </method>
    <method name="getEngineClassName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="jruby" type="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="jython" type="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="javascript" type="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="groovy" type="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="streaming_python" type="org.apache.pig.scripting.ScriptEngine.SupportedScriptLang"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.scripting.ScriptEngine.SupportedScriptLang -->
  <!-- start class org.apache.pig.scripting.ScriptingOutputCapturer -->
  <class name="ScriptingOutputCapturer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScriptingOutputCapturer" type="org.apache.pig.ExecType"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getStandardOutputRootWriteLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getTaskLogDir" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="java.lang.String"/>
      <param name="taskId" type="java.lang.String"/>
      <param name="hadoopLogDir" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="startCapturingOutput"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getUdfOutput" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="registerOutputLocation"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="functionName" type="java.lang.String"/>
      <param name="fileName" type="java.lang.String"/>
    </method>
    <method name="getRunId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isClassCapturingOutput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isInstanceCapturingOutput" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setInstanceCapturingOutput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="instanceCapturingOutput" type="boolean"/>
    </method>
    <doc>
    <![CDATA[This class helps a scripting UDF capture user output by managing when to capture output and where
 the output is written to.
 
 For illustrate, we will only capture output for the last run (with the final set of data) and
   we need to keep track of the file containing that output for returning w/ the illustrate results.
 For runs, all standard output is written to the user logs.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.ScriptingOutputCapturer -->
  <!-- start class org.apache.pig.scripting.ScriptPigContext -->
  <class name="ScriptPigContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="set" return="org.apache.pig.scripting.ScriptPigContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="engine" type="org.apache.pig.scripting.ScriptEngine"/>
    </method>
    <method name="get" return="org.apache.pig.scripting.ScriptPigContext"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScriptEngine" return="org.apache.pig.scripting.ScriptEngine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigContext" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Context for embedded Pig script.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.ScriptPigContext -->
</package>
<package name="org.apache.pig.scripting.groovy">
  <!-- start interface org.apache.pig.scripting.groovy.AccumulatorAccumulate -->
  <interface name="AccumulatorAccumulate"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Accumulator UDF to indicate that it will
 act as the 'accumulate' method of the UDF.

 The value of the annotation is the name of the Accumulator UDF
 it belongs to.

 The annotated method MUST NOT be static and MUST accept a single groovy.lang.Tuple as parameter.
 Its return value, if any, is ignored.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AccumulatorAccumulate -->
  <!-- start interface org.apache.pig.scripting.groovy.AccumulatorCleanup -->
  <interface name="AccumulatorCleanup"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Accumulator UDF to indicate that it will
 act as the 'cleanup' method of the UDF.

 The value of the annotation is the name of the Accumulator UDF
 it belongs to.

 The annotated method MUST NOT be static and MUST NOT accept any parameters.
 Its return value, if any, is ignored.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AccumulatorCleanup -->
  <!-- start interface org.apache.pig.scripting.groovy.AccumulatorGetValue -->
  <interface name="AccumulatorGetValue"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Accumulator UDF to indicate that it will
 act as the 'getValue' method of the UDF.

 The value of the annotation is the name of the Accumulator UDF
 it belongs to.

 The annotated method MUST NOT be static and MUST NOT accept any parameters.
 Its return value will be that of the Accumulator UDF.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AccumulatorGetValue -->
  <!-- start interface org.apache.pig.scripting.groovy.AlgebraicFinal -->
  <interface name="AlgebraicFinal"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Algebraic UDF to indicate that it will
 act as the exec method of the 'Final' class of the UDF.

 The value of the annotation is the name of the Algebraic UDF
 it belongs to.

 The annotated method MUST NOT accept any parameters.
 Its return value will be that of the Algebraic UDF.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AlgebraicFinal -->
  <!-- start interface org.apache.pig.scripting.groovy.AlgebraicInitial -->
  <interface name="AlgebraicInitial"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Algebraic UDF to indicate that it will
 act as the exec method of the 'Initial' class of the UDF.

 The value of the annotation is the name of the Algebraic UDF
 it belongs to.

 The annotated method MUST accept a single groovy.lang.Tuple parameter,
 and MUST return a groovy.lang.Tuple or Object[].]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AlgebraicInitial -->
  <!-- start interface org.apache.pig.scripting.groovy.AlgebraicIntermed -->
  <interface name="AlgebraicIntermed"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This annotation is to be used on a Groovy method which
 is part of an Algebraic UDF to indicate that it will
 act as the exec method of the 'Intermed' class of the UDF.

 The value of the annotation is the name of the Algebraic UDF
 it belongs to.

 The annotated method MUST accept a single groovy.lang.Tuple parameter,
 and MUST return a groovy.lang.Tuple or Object[].]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.AlgebraicIntermed -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAccumulatorEvalFunc -->
  <class name="GroovyAccumulatorEvalFunc" extends="org.apache.pig.AccumulatorEvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyAccumulatorEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAccumulatorEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc" extends="org.apache.pig.AlgebraicEvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyAlgebraicEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper -->
  <class name="GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper" extends="org.apache.pig.scripting.groovy.GroovyEvalFunc"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AlgebraicFunctionWrapper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="AlgebraicFunctionWrapper" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigDecimalGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigDecimalGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BigIntegerGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BigIntegerGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BooleanGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.BooleanGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ChararrayGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.ChararrayGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataBagGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Unlike EvalFuncs and Accumulators, the type must be known at compile time
 (ie it
 can't return Object), as Pig inspects the type and ensures that it is
 valid. This
 is why class specific shells are provided here.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataBagGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataByteArrayGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DataByteArrayGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DateTimeGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DateTimeGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.DoubleGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.FloatGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Initial -->
  <class name="GroovyAlgebraicEvalFunc.Initial" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Initial -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntegerGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.IntegerGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Intermed -->
  <class name="GroovyAlgebraicEvalFunc.Intermed" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermed"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermed" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Intermed -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.LongGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.MapGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc -->
  <class name="GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TupleGroovyAlgebraicEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc.Final -->
  <class name="GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final" type="java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyAlgebraicEvalFunc.TupleGroovyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyEvalFunc -->
  <class name="GroovyEvalFunc" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyEvalFunc"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GroovyEvalFunc" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="GroovyEvalFunc" type="java.lang.String, java.lang.String, java.lang.String, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <method name="getInvocationTarget" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="method" type="java.lang.reflect.Method"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyEvalFunc -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyEvalFuncObject -->
  <class name="GroovyEvalFuncObject" extends="org.apache.pig.scripting.groovy.GroovyEvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyEvalFuncObject"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GroovyEvalFuncObject" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <constructor name="GroovyEvalFuncObject" type="java.lang.String, java.lang.String, java.lang.String, java.lang.Object"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyEvalFuncObject -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyScriptEngine -->
  <class name="GroovyScriptEngine" extends="org.apache.pig.scripting.ScriptEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="main" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="registerFunctions"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getEngine" return="groovy.util.GroovyScriptEngine"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyScriptEngine -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyUtils -->
  <class name="GroovyUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GroovyUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="groovyToPig" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groovyObject" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Converts an object created on the Groovy side to its Pig counterpart.

 The conversions are as follow:

 Groovy Pig
 Object[] Tuple
 groovy.lang.Tuple Tuple
 org.apache.pig.data.Tuple Tuple
 org.apache.pig.data.DataBag DataBag
 java.util.Map Map
 java.util.List DataBag
 Byte/Short/Integer int
 Long long
 Float float
 Double double
 BigInteger BigInteger
 BigDecimal BigDecimal
 String chararray
 byte[] DataByteArray (copy)
 Boolean boolean
 org.joda.time.DateTime org.joda.time.DateTime
 null null

 anything else raises an exception

 @param groovyObject
          Groovy object to convert
 @return the Pig counterpart of groovyObject

 @throws ExecException]]>
      </doc>
    </method>
    <method name="pigToGroovy" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigObject" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Converts an object created on the Pig side to its Groovy counterpart.

 The conversions are as follow:

 Pig Groovy
 Tuple groovy.lang.tuple
 DataBag groovy.lang.Tuple containing the bag's size and an iterator on its
 content
 Map java.util.Map
 int/long/float/double as is
 chararray String
 bytearray byte[] (copy)
 boolean boolean
 BigInteger BigInteger
 BigDecimal BigDecimal
 org.joda.time.DateTime org.joda.time.DateTime
 null null

 anything else raises an exception

 @param pigObject
 @return Object
 @throws ExecException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyUtils -->
  <!-- start class org.apache.pig.scripting.groovy.GroovyUtils.DataBagGroovyIterator -->
  <class name="GroovyUtils.DataBagGroovyIterator" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.Iterator"/>
    <constructor name="DataBagGroovyIterator" type="java.util.Iterator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="hasNext" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="next" return="groovy.lang.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="remove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.groovy.GroovyUtils.DataBagGroovyIterator -->
  <!-- start interface org.apache.pig.scripting.groovy.OutputSchemaFunction -->
  <interface name="OutputSchemaFunction"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.annotation.Annotation"/>
    <method name="value" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </interface>
  <!-- end interface org.apache.pig.scripting.groovy.OutputSchemaFunction -->
</package>
<package name="org.apache.pig.scripting.jruby">
  <!-- start class org.apache.pig.scripting.jruby.JrubyAccumulatorEvalFunc -->
  <class name="JrubyAccumulatorEvalFunc" extends="org.apache.pig.AccumulatorEvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JrubyAccumulatorEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor is used by JrubyScriptEngine to register a Ruby class as an Accumulator.
 The path and methodName are used to find the ruby Class, which is then instantated and used.]]>
      </doc>
    </constructor>
    <method name="accumulate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This uses the "exec" method required of AccumulatorPigUdf Ruby classes. It streams the data bags
 it receives through the exec method defined on the registered class.]]>
      </doc>
    </method>
    <method name="cleanup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method calls "get" on the AccumulatorPigUdf Ruby class that was specified.]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This provides the Schema of the output, and leverages the get_output_schema function on the class object
 that is defined on the ruby side.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class provides a bridge between Ruby classes that extend AccumulatorPigUdf
 and their execution in Pig. This class passes a Bag of data to the Ruby "exec"
 function, and ultimate gets the value by calling "get" on the class instance
 that receives methods.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAccumulatorEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc" extends="org.apache.pig.AlgebraicEvalFunc"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The constructor takes information on the script and method being invoked and registers it with the
 superclass (which is necessary for AlgebraicEvalFunc).]]>
      </doc>
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInitial" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getIntermed" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="mBagFactory" type="org.apache.pig.data.BagFactory"
      transient="false" volatile="false"
      static="true" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="mTupleFactory" type="org.apache.pig.data.TupleFactory"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="rubyEngine" type="org.jruby.embed.ScriptingContainer"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="ruby" type="org.jruby.Ruby"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class provides the bridge between Ruby classes that extend the AlgebraicPigUdf
 "interface" by implementing an initial, intermed, and final method. Unlike EvalFuncs
 and Accumulators, the type must be known at compile time (ie it can't return Object),
 as Pig inspects the type and ensures that it is valid. This is why class specific
 shells are provided at the bottom. This class leverages AlgebraicEvalFunc to provide
 the Accumulator and EvalFunc implementations.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper -->
  <class name="JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper" extends="org.apache.pig.EvalFunc"
    abstract="true"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="AlgebraicFunctionWrapper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="AlgebraicFunctionWrapper" type="java.lang.String, java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[In addition to registering the fileName and the functionName (which are given based on the
 arguments passed to super() in the containing class's constructor, each extending class
 will register their "stage," which will serve as the method to invoke on the Ruby class.]]>
      </doc>
    </constructor>
    <method name="getStage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReceiver" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFunctionName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isInitialized" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="java.lang.Object"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="receiver" type="java.lang.Object"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="isInitialized" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="stage" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This is a lightweight wrapper shell that registers information on the method being called,
 and provides the initializer that the static Algebraic classes (Initial, Intermed, Final)
 will use to execute.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="BagJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Unlike EvalFuncs and Accumulators, the type must be known at compile time (ie it
 can't return Object), as Pig inspects the type and ensures that it is valid. This
 is why class specific shells are provided here. This is also the reason why the
 Ruby Algebraic interface is the only interface that does not currently allow overriding
 outputSchema, and a fixed one must be provided.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.BagJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ChararrayJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.ChararrayJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DataByteArrayJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DataByteArrayJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="DoubleJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.DoubleJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class invokes the final method on the given Ruby class. It passes along the DataBag contained
 in the Tuple it is given, and the raw result.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="FloatJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.FloatJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Initial -->
  <class name="JrubyAlgebraicEvalFunc.Initial" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Initial"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Initial" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class invokes the initial method on the given Ruby class. As a courtesy to the user, it unwraps the
 DataBag that is given to Initial and passes Ruby just the first Tuple that it contains, as the contract
 for the Initial function in Algebraic is that it is given a DataBag with one and only one Tuple. Finally,
 it wraps the Ruby output in a Tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Initial -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="IntegerJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.IntegerJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Intermed -->
  <class name="JrubyAlgebraicEvalFunc.Intermed" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.AlgebraicFunctionWrapper"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Intermed"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Intermed" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class invokes the intermed method on the given Ruby class. It passes along the DataBag contained
 in the Tuple it is given, and wraps the Ruby output in a Tuple.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Intermed -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.LongJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.MapJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc -->
  <class name="JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TupleJrubyAlgebraicEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getFinal" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc.Final -->
  <class name="JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc.Final" extends="org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.Final"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Final"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="Final" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyAlgebraicEvalFunc.TupleJrubyAlgebraicEvalFunc.Final -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyEvalFunc -->
  <class name="JrubyEvalFunc" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JrubyEvalFunc" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[The constructor for this class registers the filename of the Ruby script
 and the name of the method we care about. The difference between function name
 and method name is that the former is the name that was used to register the function,
 whereas the method name is the actual method that must be invoked. The two are often
 the same, but not always. functionName is the key to the list of EvalFuncs that
 are registered.]]>
      </doc>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[The exec method passes the tuple argument to the Ruby function, and converts the result back to Pig.]]>
      </doc>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[This method uses the schema method of the function encapsulation object to get the Schema information for
 the Ruby method.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class serves at the bridge between Ruby methods that
 are registered with and extend PigUdf, and their execution in
 Pig. An instance of the containing class is created, and their
 method name will be called against that instance. If they have
 a schema function associated, then when outputSchema is called,
 that function will be given the input Schema and the output will
 be given to Pig.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyEvalFunc -->
  <!-- start class org.apache.pig.scripting.jruby.JrubyScriptEngine -->
  <class name="JrubyScriptEngine" extends="org.apache.pig.scripting.ScriptEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JrubyScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="registerFunctions"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Evaluates the script containing ruby udfs to determine what udfs are defined as well as
 what libaries and other external resources are necessary. These libraries and resources
 are then packaged with the job jar itself.]]>
      </doc>
    </method>
    <method name="main" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="rubyEngine" type="org.jruby.embed.ScriptingContainer"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Implementation of the script engine for Jruby, which facilitates the registration
 of scripts as UDFs, and also provides information (via the nested class RubyFunctions)
 on the registered functions.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.JrubyScriptEngine -->
  <!-- start class org.apache.pig.scripting.jruby.PigJrubyLibrary -->
  <class name="PigJrubyLibrary" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.jruby.runtime.load.Library"/>
    <constructor name="PigJrubyLibrary"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="load"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="runtime" type="org.jruby.Ruby"/>
      <param name="wrap" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[This method is called from JRuby to register any classes in
 the library.

 @param  runtime the current Ruby runtime
 @param  wrap    ignored
 @throws IOException]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.runtime.builtin.IRubyObject"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This method facilitates conversion from Ruby objects to Pig objects. This is
 a general class which detects the subclass and invokes the appropriate conversion
 routine. It will fail on an unsupported datatype.

 @param  rbObject      a Ruby object to convert
 @return               the Pig analogue of the Ruby object
 @throws ExecException if rbObject is not of a known type that can be converted]]>
      </doc>
    </method>
    <method name="rubyToPig" return="org.apache.pig.data.Tuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyArray"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyHash"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyBoolean"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.apache.pig.scripting.jruby.RubySchema"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyString"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyBignum"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyFixnum"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Double"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyFloat"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyInteger"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.apache.pig.scripting.jruby.RubyDataBag"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.apache.pig.scripting.jruby.RubyDataByteArray"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="rubyToPig" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="rbObject" type="org.jruby.RubyNil"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  rbObject object to convert
 @return          analogous Pig type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Object"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This is the method which provides conversion from Pig to Ruby. In this case, an
 instance of the Ruby runtime is necessary. This method provides the general detection
 of the type and then calls the more specific conversion methods.

 @param  ruby          the Ruby runtime to create objects in
 @param  object        the Pig object to convert to Ruby
 @return               Ruby analogue of object
 @throws ExecException object is not a convertible Pig type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyArray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="org.apache.pig.data.Tuple"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param  ruby          the Ruby runtime to create objects in
 @param  object        object to convert
 @return               analogous Ruby type
 @throws ExecException object contained an object that could not convert]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyBoolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Boolean"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.apache.pig.scripting.jruby.RubyDataBag"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="org.apache.pig.data.DataBag"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyHash"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.util.Map"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[A type specific conversion routine for Pig Maps. This only deals with maps
 with String keys, which is all that Pig supports.

 @param  ruby          the Ruby runtime to create objects in
 @param  object        map to convert. In Pig, only maps with String keys are
                       supported
 @return               analogous Ruby type
 @throws ExecException object contains a key that can't be convert to a Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.apache.pig.scripting.jruby.RubyDataByteArray"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="org.apache.pig.data.DataByteArray"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyString"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.String"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Integer"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Long"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyFloat"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Float"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="pigToRuby" return="org.jruby.RubyFloat"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ruby" type="org.jruby.Ruby"/>
      <param name="object" type="java.lang.Double"/>
      <doc>
      <![CDATA[A type specific conversion routine.

 @param ruby   the Ruby runtime to create objects in
 @param object object to convert
 @return       analogous Ruby type]]>
      </doc>
    </method>
    <method name="enumeratorize" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="runtime" type="org.jruby.Ruby"/>
      <param name="obj" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[This is a hack to get around the fact that in JRuby 1.6.7, the enumeratorize method
 isn't public. In 1.7.0, it will be made public and this can be gotten rid of, but
 until then the Jruby API doesn't provide an easy way (or even a difficult way, really)
 to provide this functionality; thus, it felt much cleaner to use reflection to make
 public a method that will soon be public anyway instead of doing something much hairier.

 @param runtime the Ruby runtime to create objects in
 @param obj     the Enumerable object to wrap
 @param name    the name of the method that still needs a block (ie each or flatten)
 @return        enumerator Ruby object wrapping the given Enumerable]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class provides the ability to present to Ruby a library that was written in Java.
 In JRuby, there are two ways to present a library to ruby: one is to implement it in
 ruby as a module or class, and the other is to implement it in Java and then register
 it with the runtime. For the Pig datatypes we provide Ruby implementations for,
 it was easier to implement them in Java and provide a Ruby interface via the annotations
 that Jruby provides.

 Additionally, this class provides static object conversion functionality to and from Pig
 and JRuby.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.PigJrubyLibrary -->
  <!-- start class org.apache.pig.scripting.jruby.RubyDataBag -->
  <class name="RubyDataBag" extends="org.jruby.RubyObject"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Iterable"/>
    <constructor name="RubyDataBag" type="org.jruby.Ruby, org.jruby.RubyClass"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor encapsulated an empty bag.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata]]>
      </doc>
    </constructor>
    <constructor name="RubyDataBag" type="org.jruby.Ruby, org.jruby.RubyClass, org.apache.pig.data.DataBag"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor encapsulates the bag that is passed to it. Note:
 the resultant RubyDataBag will encapsulated that bag directly, not
 a copy.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param db   a DataBag to encapsulate]]>
      </doc>
    </constructor>
    <method name="getBag" return="org.apache.pig.data.DataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="define" return="org.jruby.RubyClass"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="runtime" type="org.jruby.Ruby"/>
      <doc>
      <![CDATA[This method registers the class with the given runtime. It is not necessary to do this here,
 but it is simpler to associate the methods necessary to register the class with the class
 itself, so on the Library side it is possible to just specify "RubyDataBag.define(runtime)".

 @param runtime an instance of the Ruby runtime
 @return        a RubyClass object with metadata about the registered class]]>
      </doc>
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubyDataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[The initialize method is the method used on the Ruby side to construct
 the RubyDataBag object. The default is just an empty bag.

 @return the initialized RubyDataBag]]>
      </doc>
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubyDataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[The initialize method can optionally receive a DataBag. In the case of
 a RubyDataBag, a RubyDataBag will be returned that directly encapsulates it.

 @param arg an IRubyObject that is a RubyDataBag to encapsulate
 @return    the initialized RubyDataBag]]>
      </doc>
    </method>
    <method name="clear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This method deletes all of the entries in the underlying DataBag.]]>
      </doc>
    </method>
    <method name="isDistinct" return="org.jruby.RubyBoolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This returns whether the encapsulated DatBag is distinct, per the distinct setting.

 @param context the context the method is being executed in
 @return        true if it the encapsulated is distinct, false otherwise]]>
      </doc>
    </method>
    <method name="isSorted" return="org.jruby.RubyBoolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This returns whether the encapsulated DatBag is distinct, per the sorted setting.

 @param context the context the method is being executed in
 @return        true if it the encapsulated is sorted, false otherwise]]>
      </doc>
    </method>
    <method name="size" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This returns the size of the encapsulated DataBag.

 @param context the context the method is being executed in
 @return        the size of the encapsulated DataBag]]>
      </doc>
    </method>
    <method name="add"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[The add method accepts a varargs argument; each argument can be either a random
 object, a DataBag, or a RubyArray. In the case of a random object, that object
 will be converted to a Pig object and put into a Tuple. In the case of a
 RubyArray, it will be treated as a Tuple and added. In the case of a DataBag,
 it will iterate over the DataBag and add all of the elements to the element
 encapsulated by RubyDataBag.

 @param context the context the method is being executed in
 @param args    varargs passed to add. Each argument can be a RubyDataBag, whose
                      contents will be copied; a RubyArray, which will be treated as a
                      Tuple, or another object which will be converted over per
                      {@link PigJrubyLibrary#rubyToPig}.]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.scripting.jruby.RubyDataBag"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This method returns a copy of the encapsulated DataBag.

 @param context the context the method is being executed in
 @return        the copied RubyDataBag]]>
      </doc>
    </method>
    <method name="isEmpty" return="org.jruby.RubyBoolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This method returns whether or not the encapsulated DataBag is empty.

 @param context the context the method is being executed in
     i @return        true if the encapsulated DAtaBag is empty, false otherwise]]>
      </doc>
    </method>
    <method name="inspect" return="org.jruby.RubyString"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <doc>
      <![CDATA[This method returns a string representation of the RubyDataBag. If given an optional
 argument, then if that argument is true, the contents of the bag will also be printed.

 @param context the context the method is being executed in
 @param args    optional true/false argument passed to inspect
 @return        string representation of the RubyDataBag]]>
      </doc>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="each" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="block" type="org.jruby.runtime.Block"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This is an implementation of the each method which opens up the Enumerable interface,
 and makes it very convenient to iterate over the elements of a DataBag. Note that currently,
 due to a deficiency in JRuby, it is not possible to call each without a block given.

 @param context the context the method is being executed in
 @param block   a block to call on the elements of the bag
 @return        enumerator object if null block given, nil otherwise]]>
      </doc>
    </method>
    <method name="flatten" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="block" type="org.jruby.runtime.Block"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[This is a convenience method which will run the given block on the first element
 of each tuple contained.

 @param context the context the method is being executed in
 @param block   a block to call on the elements of the bag
 @return        enumerator object if null block given, nil otherwise]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This provides a Ruby-esque way to interact with DataBag objects. It encapsulates
 a bag object, and provides an easy to use interface. One difference between the
 Ruby and the the Java API on DataBag is that in Ruby you iterate on the bag directly.
 <p>
 The RubyDataBag class  uses JRuby's API for the defintion Ruby class using Java code.
 The comments in this class will more extensively explain the annotations for those not
 familiar with JRuby.
 <p>
 In JRuby, the annotations are provided for convenience, and are detected and used
 by the "defineAnnotatedMethods" method. The JRubyClass annotation sets the class name
 as it will be seen in the Ruby runtime, and alows you to include any modules. In the
 case of the RubyDataBag, within Ruby we just want it to be called DataBag, and we
 want it to be enumerable.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.RubyDataBag -->
  <!-- start class org.apache.pig.scripting.jruby.RubyDataByteArray -->
  <class name="RubyDataByteArray" extends="org.jruby.RubyObject"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RubyDataByteArray" type="org.jruby.Ruby, org.jruby.RubyClass"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor encapsulated a null DataByteArray.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata]]>
      </doc>
    </constructor>
    <constructor name="RubyDataByteArray" type="org.jruby.Ruby, org.jruby.RubyClass, org.apache.pig.data.DataByteArray"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Given a DataByteArray, this constructor creates a new one which copies the underlying bytes.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param dba  a DataByteArray to copy then encapsulate]]>
      </doc>
    </constructor>
    <constructor name="RubyDataByteArray" type="org.jruby.Ruby, org.jruby.RubyClass, org.apache.pig.data.DataByteArray, org.apache.pig.data.DataByteArray"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor makes a RubyDataByteArray whose underlying bytes are a concatenation
 of the given bytes. The new DataByteArray will not point to the original bytes.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param dba1 first DataByteArray in the concatentation
 @param dba2 second DAtaByteArray whose bytes will be concatenated to the first's]]>
      </doc>
    </constructor>
    <constructor name="RubyDataByteArray" type="org.jruby.Ruby, org.jruby.RubyClass, byte[]"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor creates a new DataByteArray with a reference to the provided bytes.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param buf  a byte array to encapsulate directly]]>
      </doc>
    </constructor>
    <method name="define" return="org.jruby.RubyClass"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="runtime" type="org.jruby.Ruby"/>
      <doc>
      <![CDATA[Registers the DataByteArray class with the Ruby runtime.

 @param runtime an instance of the Ruby runtime
 @return a RubyClass object with metadata about the registered class]]>
      </doc>
    </method>
    <method name="getDBA" return="org.apache.pig.data.DataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubyDataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is the default initializer, which returns an empty DataByteArray.

 @return the initialized RubyDataByteArray]]>
      </doc>
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubyDataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[Given a String or a set of bytes[], initializes the encapsulated DataByteArray
 using {@link DataByteArray#set}. In the case of a DataByteArray, will copy
 the underlying bytes.

 @param arg a value to set the encapsulated DataByteArray to. A DataByteArray
                  will be copied, whereas a byte array will be encapsulated directly,
                  and a string's bits will be used per {@link DataByteArray#set}.
 @return    the initialized RubyDataByteArray]]>
      </doc>
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubyDataByteArray"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[Given two RubyDataByteArrays, initializes the encapsulated DataByteArray
 to be a concatentation of the copied bits of the first and second.

 @param arg1 the first RubyDataByteArray whose bits will be used
 @param arg2 the second RubyDataByteArray whose bits will be concatenated
                   after the first's
 @return     the initialized RubyDataBytearray]]>
      </doc>
    </method>
    <method name="append"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This calls to the append function of the underlying DataByteArray. This accepts
 the same types that set accepts.

 @param context the context the method is being executed in
 @param arg a value to append to the encpasulated DataByteArray. In the case of a
            RubyDataByteArray, the bytes will be copied and appended; in the case
            of a String, the bits will be added; in the case of a byte array,
            the bytes will be appended directly.]]>
      </doc>
    </method>
    <method name="compare" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This calls to the static method compare of DataByteArray. Given two DataByteArrays, it will call it
 on the underlying bytes.

 @param context the context the method is being executed in
 @param self    an class which contains metadata on the calling class (required for static Ruby methods)
 @param arg1    a RubyDataByteArray or byte array to compare
 @param arg2    a RubyDataByteArray or byte array to compare
 @return        the Fixnum result of comparing arg1 and arg2's bytes]]>
      </doc>
    </method>
    <method name="compareTo" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This calls the compareTo method of the encapsulated DataByteArray.

 @param context the context the method is being executed in
 @param arg     a RubyDataByteArray or byte array to compare to the
                encapsulated DataByteArray
 @return        the result of compareTo on the encapsulated DataByteArray
                      and arg]]>
      </doc>
    </method>
    <method name="equals" return="org.jruby.RubyBoolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[Overrides equality leveraging DataByteArray's equality.

 @param context the context the method is being executed in
 @param arg     a RubyDataByteArray against which to test equality
 @return        true if they are equal, false otherwise]]>
      </doc>
    </method>
    <method name="hash" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[Overrides ruby's hash leveraging DataByteArray's hash.

 @param context the context the method is being executed in
 @return        the encapsulated DataByteArray's hashCode()]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This method calls the set method of the underlying DataByteArray with one exception:
 if given a RubyDataByteArray, it will set the encapsulated DataByteArray to be equal.

 @param arg an object to set the encapsulated DataByteArray's bits to. In the case of
            a RubyString or byte array, the underlying bytes will be sit directly. In
            the case of a RubyDataByteArray, the encapsulated DataByteArray will be set
            equal to arg.]]>
      </doc>
    </method>
    <method name="size" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[@param context the context the method is being executed in
 @return the size of the encapsulated DataByteArray]]>
      </doc>
    </method>
    <method name="plus" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This method accepts as an argument anything that could be passed to set (ie a
 RubyDataByteArray, RubyString, or byte array). It then adds those values together.

 @param context the context the method is being executed in
 @param arg     any argument that can validly initialize a RubyDataByteArray
 @return        a <u>new</u> RubyDataByteArray that is the concatentation of
                the encapsulated DataByteArray and arg]]>
      </doc>
    </method>
    <method name="toString" return="org.jruby.runtime.builtin.IRubyObject"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[@param context the context the method is being executed in
 @return        the string representation of the encapsulated DataByteArray]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class presents a native Ruby object for interacting with and manipulating
 DataByteArray objects. For more information on what the annotations mean, see
 {@link RubyDataBag}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.RubyDataByteArray -->
  <!-- start class org.apache.pig.scripting.jruby.RubySchema -->
  <class name="RubySchema" extends="org.jruby.RubyObject"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="RubySchema" type="org.jruby.Ruby, org.jruby.RubyClass"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <constructor name="RubySchema" type="org.jruby.Ruby, org.jruby.RubyClass, org.apache.pig.impl.logicalLayer.schema.Schema, boolean"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor sets the encapsulated Schema to be equal to
 the given Schema. If copy is true, it is set equal to a copy.
 If it is false, it is set directly equal.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param s    a Schema to encapsulate
 @param copy a boolean value. If true, s will be copied and the copy
             will be encapsulated. If false, it will be encapsulated
             directly.]]>
      </doc>
    </constructor>
    <constructor name="RubySchema" type="org.jruby.Ruby, org.jruby.RubyClass, org.apache.pig.impl.logicalLayer.schema.Schema"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor sets the encapsulated Schema to be equal to the
 given Schema.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param s    a Schema to encapsulate]]>
      </doc>
    </constructor>
    <constructor name="RubySchema" type="org.jruby.Ruby, org.jruby.RubyClass, java.lang.String"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This constructor is provided for convenience and sets the
 internal Schema equal to the result of a call to
 {@link Utils#getSchemaFromString}.

 @param ruby an instance of the ruby runtime
 @param rc   an instance of the class object with meatadata
 @param s    a String which will be passed to
             {@link Utils#getSchemaFromString}]]>
      </doc>
    </constructor>
    <method name="define" return="org.jruby.RubyClass"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="runtime" type="org.jruby.Ruby"/>
      <doc>
      <![CDATA[This method registers the class with the given runtime.

 @param runtime an instance of the Ruby runtime
 @return        a RubyClass object with metadata about the registered class]]>
      </doc>
    </method>
    <method name="initialize" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <doc>
      <![CDATA[The ruby initializer accepts any number of arguments. With no arguments,
 it will return an empty Schema object. It can accept any number of arguments.
 To understand the valid arguments, see the documentation for {@link #rubyArgToSchema}.

 @param args a varargs which can take any number of valid arguments to
             {@link #rubyArgToSchema}
 @return     the initialized RubySchema]]>
      </doc>
    </method>
    <method name="nullBytearray" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased bytearray Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullBoolean" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased Boolean Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullChararray" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased chararray Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullLong" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased long Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullInt" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased int Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullDouble" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased double Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullFloate" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased float Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullDateTime" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased datetime Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullTuple" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased tuple Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullBag" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased bag Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="nullMap" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a static helper method to create a null aliased map Schema.
 This is useful in cases where you do not want the output to have an explicit
 name, which {@link Utils#getSchemaFromString} will assign.

 @param context the context the method is being executed in
 @param self    an instance of the RubyClass with metadata on
                the Ruby class object this method is being
                statically invoked against
 @return        a null-aliased bytearray schema]]>
      </doc>
    </method>
    <method name="rubyArgToSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg" type="java.lang.Object"/>
      <doc>
      <![CDATA[This is a helper function which converts objects into Schema objects. The valid
 options are as follows:
 <p>
 A RubyString, which will have {@link Utils#getSchemaFromString} called on it, and
 it will be added.
 <p>
 A RubySchema, which will be added directly. IMPORTANT NOTE: since this API abstracts
 away from the distinction between Schema/FieldSchema, its important to understand
 how a Schema is added to another. In this case, the FieldSchema is pulled directly
 out of the given Schema. Thus, where in Pig a Schema.FieldSchema might be passed around,
 internally to this class, generally a Schema will be passed around encapsulating it.
 <p>
 A list will create the Schema for a Tuple whose elements will be the elements of the
 list. Each element will be subjected to the same rules applied here.
 <p>
 A hash in the form of:<br>
 <code>{"name:tuple"=>["x:int","y:int,z:int"], "name2:bag"=>["a:chararray"]}</code><br>
 The keys must be a tuple, bag, or map, and the value must be an array.

 @param arg an object (generally an IRubyObject or String) to convert. See above for
                  the rules on valid arguments
 @return    the Schema constructed for the given argument]]>
      </doc>
    </method>
    <method name="tuple" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes a name and an array of arguments and constructs a Tuple schema
 from them.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg1    the name for the RubySchema
 @param arg2    a list of arguments to instantiate the new RubySchema
 @return        the new Tuple RubySchema]]>
      </doc>
    </method>
    <method name="tuple" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes an array of arguments and constructs a Tuple schema from them. The name
 will be set automatically.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg     a list of arguments to instantiate the new RubySchema
 @return        the new RubySchema]]>
      </doc>
    </method>
    <method name="map" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes a name and an array of arguments and constructs a Map schema
 from them.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg1    the name for the RubySchema
 @param arg2    a list of arguments to instantiate the new RubySchema
 @return        the new RubySchema]]>
      </doc>
    </method>
    <method name="map" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes an array of arguments and constructs a Map schema from them. The name
 will be set automatically.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg     a list of arguments to instantiate the new RubySchema
 @return        the new RubySchema]]>
      </doc>
    </method>
    <method name="bag" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes a name and an array of arguments and constructs a Bag schema
 from them.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg1    the name for the RubySchema
 @param arg2    a list of arguments to instantiate the new RubySchema
 @return        the new RubySchema]]>
      </doc>
    </method>
    <method name="bag" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="self" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a ruby method which takes an array of arguments and constructs a Bag schema from them. The name
 will be set automatically.

 @param context the context the method is being executed in
 @param self    the RubyClass for the Class object this was invoked on
 @param arg     a list of arguments to instantiate the new RubySchema
 @return        the new RubySchema]]>
      </doc>
    </method>
    <method name="toString" return="org.jruby.RubyString"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[The toString method just leverages Schema's printing.

 @param context the context the method is being executed in
 @return        a String representation of the encapsulated Schema object]]>
      </doc>
    </method>
    <method name="get" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is the ruby method which allows people to access elements of the RubySchema object.
 It can be given either a single numeric index, or a Range object to specify a range of indices.
 It's important to note that the Schema object returned from this references the Schema stored
 internally, so if the user wants to make changes without affecting this object, it must be cloned.

 @param context the context the method is being executed in
 @param arg     a Fixnum index, Range object to specify a range of values to return, or
                a String to look up by alias name
 @return        the RubySchema object encapsulated the found Schema]]>
      </doc>
    </method>
    <method name="get" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg1" type="org.jruby.runtime.builtin.IRubyObject"/>
      <param name="arg2" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This is a version of [] which allows the range to be specified as such: [1,2].

 @param context the context the method is being executed in
 @param arg1    a Fixnum start index
 @param arg2    a Fixnum end index
 @return        the RubySchema object encapsulated the found Schema]]>
      </doc>
    </method>
    <method name="set" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <doc>
      <![CDATA[This allows the users to set an index or a range of values to
 a specified RubySchema. The first argument must be a Fixnum or Range,
 and the second argument may optionally be a Fixnum. The given index
 (or range of indices) will be replaced by a RubySchema instantiated
 based on the remaining arguments.

 @param context the contextthe method is being executed in
 @param args    a varargs which has to be at least length two.
 @return        the RubySchema that was added]]>
      </doc>
    </method>
    <method name="add" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <doc>
      <![CDATA[This method provides addition semantics, without modifying the original Schema.
 This method can be given any number of arguments, much as with the constructor.

 @param context the context the method is being executed in
 @param args    a varargs which can be any valid set of arguments that
                can initialize a RubySchema
 @return        the Rresult of the addition]]>
      </doc>
    </method>
    <method name="addInPlace"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="args" type="org.jruby.runtime.builtin.IRubyObject[]"/>
      <doc>
      <![CDATA[This method provides addition semantics, modifying the original Schema in place.
 This method can be given any number of arguments, much as with the constructor.

 @param context the context the method is being executed in
 @param args    a varargs which can be any valid set of arguments that
                can initialize a RubySchema]]>
      </doc>
    </method>
    <method name="clone" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[@param context the context the method is being executed in
 @return        a RubySchema copy of the Schema]]>
      </doc>
    </method>
    <method name="find" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[Given a field name this string will search the RubySchema for a FieldSchema
 with that name and return it encapsulated in a Schema.

 @param context the context the method is being executed in
 @param arg     a RubyString serving as an alias to look
                for in the Schema
 @return        the found RubySchema]]>
      </doc>
    </method>
    <method name="index" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[Given a field name, this will return the index of it in the schema.

 @param context the context the method is being executed in
 @param arg     a field name to look for
 @return        the index for that field name]]>
      </doc>
    </method>
    <method name="size" return="org.jruby.RubyFixnum"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[@param context the context the method is being executed in
 @return        the size of the encapsulated Schema]]>
      </doc>
    </method>
    <method name="getInternalSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[This is a helper method to pull out the native Java type from the ruby object.

 @return the encapsulated Schema]]>
      </doc>
    </method>
    <method name="get" return="org.apache.pig.scripting.jruby.RubySchema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This method allows access into the Schema nested in the encapsulated Schema. For example,
 if the encapsulated Schema is a bag Schema, this allows the user to access the schema of
 the interior Tuple.

 @param context the context the method is being executed in
 @return        a RubySchema encapsulating the nested Schema]]>
      </doc>
    </method>
    <method name="getName" return="org.jruby.RubyString"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.jruby.runtime.ThreadContext"/>
      <doc>
      <![CDATA[This method allows the user to see the name of the alias of the FieldSchema of the encapsulated
 Schema. This method only works if the Schema has one FieldSchema.

 @param context the context the method is being executed in
 @return        the name of the Schema]]>
      </doc>
    </method>
    <method name="setName" return="org.jruby.RubyString"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="arg" type="org.jruby.runtime.builtin.IRubyObject"/>
      <doc>
      <![CDATA[This method allows the user to set the name of the alias of the FieldSchema of the encapsulated
 Schema. This method only works if the Schema has one FieldSchema.

 @param arg a RubyString to set the name to
 @return    the new name]]>
      </doc>
    </method>
    <doc>
    <![CDATA[This class encapsulated a native Schema object, and provides a more convenient
 interface for manipulating Schemas. It hides the Schema/FieldSchema distinction
 from the user, and tries to present a cleaner, more Ruby-esque API to the user.
 For general information on JRuby's API definition annotations,
 see {@link RubyDataBag}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jruby.RubySchema -->
</package>
<package name="org.apache.pig.scripting.js">
  <!-- start class org.apache.pig.scripting.js.JsFunction -->
  <class name="JsFunction" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JsFunction" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.js.JsFunction -->
  <!-- start class org.apache.pig.scripting.js.JSPig -->
  <class name="JSPig" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="fs" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See {@link Pig}
 @param cmd Filesystem command to run along with its arguments as one string.
 @throws IOException]]>
      </doc>
    </method>
    <method name="registerJar"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jarfile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See {@link Pig}
 @param jarfile Path of jar to include.
 @throws IOException if the indicated jarfile cannot be found.]]>
      </doc>
    </method>
    <method name="registerUDF"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="udffile" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See {@link Pig}
 @param udffile Path of the script UDF file
 @param namespace namespace of the UDFs
 @throws IOException]]>
      </doc>
    </method>
    <method name="define"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="definition" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See {@link Pig}
 @param alias name of the defined alias
 @param definition string this alias is defined as]]>
      </doc>
    </method>
    <method name="set"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="var" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See {@link Pig}
 @param var variable to set
 @param value to set it to]]>
      </doc>
    </method>
    <method name="compile" return="org.apache.pig.scripting.js.JSPig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pl" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a Pig pipeline.  
 @param pl Pig Latin definition of the pipeline.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile.]]>
      </doc>
    </method>
    <method name="compile" return="org.apache.pig.scripting.js.JSPig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="pl" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a named portion of a Pig pipeline.  This allows it
 to be imported into another pipeline.
 @param name Name that will be used to define this pipeline.
 The namespace is global.
 @param pl Pig Latin definition of the pipeline.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile.]]>
      </doc>
    </method>
    <method name="compileFromFile" return="org.apache.pig.scripting.js.JSPig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a Pig pipeline based on Pig Latin in a separate file.
 @param filename File to read Pig Latin from.  This must be a purely 
 Pig Latin file.  It cannot contain host language constructs in it.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile or the file
 cannot be found.]]>
      </doc>
    </method>
    <method name="compileFromFile" return="org.apache.pig.scripting.js.JSPig"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="filename" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Define a named Pig pipeline based on Pig Latin in a separate file.
 This allows it to be imported into another pipeline.
 @param name Name that will be used to define this pipeline.
 The namespace is global.
 @param filename File to read Pig Latin from.  This must be a purely 
 Pig Latin file.  It cannot contain host language constructs in it.
 @return Pig object representing this pipeline.
 @throws IOException if the Pig Latin does not compile or the file
 cannot be found.]]>
      </doc>
    </method>
    <method name="bind" return="org.apache.pig.scripting.BoundScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="o" type="java.lang.Object"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[javascript helper for binding parameters. 
 See: {@link Pig#bind(Map)}
 @param o a javascript object to be converted into a Map
 @return the bound script
 @throws IOException if {@link Pig#bind(Map)} throws an IOException]]>
      </doc>
    </method>
    <method name="bind" return="org.apache.pig.scripting.BoundScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[See: {@link Pig#bind()}
 @throws IOException if host language variables are not found to resolve all
 Pig Latin parameters or if they contain unsupported types.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Pig entry point from javascript
 @author Julien Le Dem]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.js.JSPig -->
  <!-- start class org.apache.pig.scripting.js.JsScriptEngine -->
  <class name="JsScriptEngine" extends="org.apache.pig.scripting.ScriptEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JsScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getInstance" return="org.apache.pig.scripting.js.JsScriptEngine"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="jsEval" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <doc>
      <![CDATA[evaluate a javascript String
 @param name the name of the script (for error messages)
 @param script the content of the script
 @return the result]]>
      </doc>
    </method>
    <method name="jsEval" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="scriptReader" type="java.io.Reader"/>
      <doc>
      <![CDATA[evaluate javascript from a reader
 @param name the name of the script (for error messages)
 @param scriptReader the content of the script
 @return the result]]>
      </doc>
    </method>
    <method name="jsPut"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="value" type="java.lang.Object"/>
      <doc>
      <![CDATA[put a value in the current scope
 @param name the name of the variable
 @param value its value]]>
      </doc>
    </method>
    <method name="jsCall" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="functionName" type="java.lang.String"/>
      <param name="passedParams" type="java.lang.Object[]"/>
      <doc>
      <![CDATA[call a javascript function
 @param functionName the name of the function
 @param passedParams the parameters to pass
 @return the result of the function]]>
      </doc>
    </method>
    <method name="jsNewObject" return="org.mozilla.javascript.Scriptable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[creates a new JavaScript object
 @return an empty object]]>
      </doc>
    </method>
    <method name="jsNewArray" return="org.mozilla.javascript.Scriptable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="size" type="long"/>
      <doc>
      <![CDATA[creates a new javascript array
 @param size the size of the array
 @return an empty array of the given size]]>
      </doc>
    </method>
    <method name="eval" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="expr" type="java.lang.String"/>
    </method>
    <method name="load"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="script" type="java.io.InputStream"/>
    </method>
    <method name="main" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="registerFunctions"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[{@link ScriptEngine} implementation for JavaScript]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.js.JsScriptEngine -->
</package>
<package name="org.apache.pig.scripting.jython">
  <!-- start class org.apache.pig.scripting.jython.JythonFunction -->
  <class name="JythonFunction" extends="org.apache.pig.EvalFunc"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JythonFunction" type="java.lang.String, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </constructor>
    <method name="exec" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="outputSchema" return="org.apache.pig.impl.logicalLayer.schema.Schema"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="input" type="org.apache.pig.impl.logicalLayer.schema.Schema"/>
    </method>
    <doc>
    <![CDATA[Python implementation of a Pig UDF Performs mappings between Python & Pig
 data structures]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jython.JythonFunction -->
  <!-- start class org.apache.pig.scripting.jython.JythonScriptEngine -->
  <class name="JythonScriptEngine" extends="org.apache.pig.scripting.ScriptEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JythonScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="registerFunctions"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getFunction" return="org.python.core.PyFunction"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="functionName" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Gets the Python function object.
 @param path Path of the jython script file containing the function.
 @param functionName Name of the function
 @return a function object
 @throws IOException]]>
      </doc>
    </method>
    <method name="main" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="load"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="script" type="java.io.InputStream"/>
      <param name="scriptFile" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[execs the script text using the interpreter. populates the pig context
 with necessary module paths. does not close the inputstream.
 @param script
 @param scriptFile
 @param pigContext
 @throws IOException]]>
      </doc>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[Implementation of the script engine for Jython]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.scripting.jython.JythonScriptEngine -->
  <!-- start class org.apache.pig.scripting.jython.JythonUtils -->
  <class name="JythonUtils" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JythonUtils"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="pythonToPig" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pyObject" type="org.python.core.PyObject"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </method>
    <method name="pigToPython" return="org.python.core.PyObject"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="object" type="java.lang.Object"/>
    </method>
    <method name="pigTupleToPyTuple" return="org.python.core.PyTuple"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tuple" type="org.apache.pig.data.Tuple"/>
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.jython.JythonUtils -->
</package>
<package name="org.apache.pig.scripting.streaming.python">
  <!-- start class org.apache.pig.scripting.streaming.python.PythonScriptEngine -->
  <class name="PythonScriptEngine" extends="org.apache.pig.scripting.ScriptEngine"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PythonScriptEngine"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="registerFunctions"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="main" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getScriptingLang" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getParamsFromVariables" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.scripting.streaming.python.PythonScriptEngine -->
</package>
<package name="org.apache.pig.tools">
  <!-- start class org.apache.pig.tools.DownloadResolver -->
  <class name="DownloadResolver" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getInstance" return="org.apache.pig.tools.DownloadResolver"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@return Singleton Object]]>
      </doc>
    </method>
    <method name="downloadArtifact" return="java.net.URI[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.net.URI"/>
      <param name="pigServer" type="org.apache.pig.PigServer"/>
      <exception name="ParserException" type="org.apache.pig.parser.ParserException"/>
      <doc>
      <![CDATA[@param uri
 @return List of URIs of the downloaded jars
 @throws ParserException]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.DownloadResolver -->
  <!-- start class org.apache.pig.tools.ToolsPigServer -->
  <class name="ToolsPigServer" extends="org.apache.pig.PigServer"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ToolsPigServer" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param execTypeString can be 'mapreduce' or 'local'.  Local mode will 
 use Hadoop's local job runner to execute the job on the local machine.
 Mapreduce mode will connect to a cluster to execute the job.
 @throws ExecException if throws by PigServer
 @throws IOException if throws by PigServer]]>
      </doc>
    </constructor>
    <constructor name="ToolsPigServer" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[@param ctx the context to use to construct the PigServer
 @throws ExecException if throws by PigServer
 @throws IOException if throws by PigServer]]>
      </doc>
    </constructor>
    <constructor name="ToolsPigServer" type="org.apache.pig.ExecType, java.util.Properties"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[@param execType execution type to start the engine in.
 @param properties to use for this run
 @throws ExecException if throws by PigServer]]>
      </doc>
    </constructor>
    <method name="registerNoRun"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
      <param name="params" type="java.util.Map"/>
      <param name="paramFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Register a script without running it.  This method is not compatible with
 {@link #registerQuery(String)}, {@link #registerScript(String)}, 
 {@link #store(String, String)} or {@link #openIterator(String)}.  It can be
 used with {@link #getPlans()} and {@link #runPlan(LogicalPlan, String)} in this class 
 only. The proper control flow is for the caller to call registerNoRun() and then
 getPlans() to get a copy of the plans.  The user can then modify the
 logical plan.  It can then be returned via runPlan(), which will execute
 the plan.
 @param fileName File containing Pig Latin script to register.
 @param params  the key is the parameter name, and the value is the parameter value
 @param paramFiles   files which have the parameter setting
 @throws IOException if it encounters problems reading the script
 @throws FrontendException if it encounters problems parsing the script]]>
      </doc>
    </method>
    <method name="getPlans" return="org.apache.pig.tools.ToolsPigServer.PigPlans"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get a class containing the Pig plans.  For now it just contains
 the new logical plan.  At some point in the future it should contain
 the MR plan as well.
 @return the pig plans.]]>
      </doc>
    </method>
    <method name="runPlan" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="newPlan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
      <param name="jobName" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
      <doc>
      <![CDATA[Given a (modified) new logical plan, run the script.
 @param newPlan plan to run
 @param jobName name to give the MR jobs associated with this run
 @return list of exec jobs describing the jobs that were run.
 @throws FrontendException if plan translation fails.
 @throws ExecException if running the job fails.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[ToolsPigServer is a subclass of PigServer intended only for Pig tools.  Users
 should not use this interface, as we make no promises about its stability or
 continued existence.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.ToolsPigServer -->
  <!-- start class org.apache.pig.tools.ToolsPigServer.PigPlans -->
  <class name="ToolsPigServer.PigPlans" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigPlans" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="lp" type="org.apache.pig.newplan.logical.relational.LogicalPlan"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.ToolsPigServer.PigPlans -->
</package>
<package name="org.apache.pig.tools.cmdline">
  <!-- start class org.apache.pig.tools.cmdline.CmdLineParser -->
  <class name="CmdLineParser" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="CmdLineParser" type="java.lang.String[]"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param args String array of arguments passed to the program.]]>
      </doc>
    </constructor>
    <method name="registerOpt"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="char"/>
      <param name="s" type="java.lang.String"/>
      <param name="ve" type="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected"/>
      <doc>
      <![CDATA[Register a command line option.
 @param c Single character designator for this option.  It cannot be '-'.
 @param s Full word designator for this option.  This can be null, in which case
 no long designator will exist for this option.
 @param ve If REQUIRED, a value will be expected with this option.  If
 OPTIONAL a value will be accepted if it is seen.
 @throws AssertionError if there is no short option, or if this option has already been
 used.]]>
      </doc>
    </method>
    <method name="getNextOpt" return="char"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ParseException" type="java.text.ParseException"/>
      <doc>
      <![CDATA[Get the next option.
 @return The short designator for the next argument.  If there are no more arguments
 than the special designator CmdLineParser.EndOfOpts will be returned.
 @throws ParseException if an unknown option is found or an option that
 expects a value does not have one or a value that does not expect a value does have
 one.]]>
      </doc>
    </method>
    <method name="getRemainingArgs" return="java.lang.String[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get any remaining arguments.
 @return In general this function will null.
 Only if the caller passed a '-' or '--' followed by other arguments.  In that case
 the remainder of the args array will be returned.]]>
      </doc>
    </method>
    <method name="getValStr" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the value, as a string.
 @return The value associated with the current option.  If there is no value,
 then null will be returned.]]>
      </doc>
    </method>
    <method name="getValInt" return="java.lang.Integer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="NumberFormatException" type="java.lang.NumberFormatException"/>
      <doc>
      <![CDATA[Get the value, as an Integer.
 @return The value associated with the current option.  If there is not value, then
 null will be returned.
 @throws NumberFormatException if the value cannot be converted to an integer.]]>
      </doc>
    </method>
    <field name="EndOfOpts" type="char"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.cmdline.CmdLineParser -->
  <!-- start class org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected -->
  <class name="CmdLineParser.ValueExpected" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="REQUIRED" type="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="OPTIONAL" type="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NOT_ACCEPTED" type="org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.cmdline.CmdLineParser.ValueExpected -->
</package>
<package name="org.apache.pig.tools.counters">
  <!-- start class org.apache.pig.tools.counters.PigCounterHelper -->
  <class name="PigCounterHelper" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigCounterHelper"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="incrCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
      <param name="incr" type="long"/>
      <doc>
      <![CDATA[Mocks the Reporter.incrCounter, but adds buffering.
 See org.apache.hadoop.mapred.Reporter's incrCounter.]]>
      </doc>
    </method>
    <method name="incrCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Enum"/>
      <param name="incr" type="long"/>
      <doc>
      <![CDATA[Mocks the Reporter.incrCounter, but adds buffering.
 See org.apache.hadoop.mapred.Reporter's incrCounter.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[A helper class to deal with Hadoop counters in Pig.  They are stored within the singleton
 PigStatusReporter instance, but are null for some period of time at job startup, even after
 Pig has been invoked.  This class buffers counters, trying each time to get a valid Reporter and flushing
 stored counters each time it does.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.counters.PigCounterHelper -->
</package>
<package name="org.apache.pig.tools.grunt">
  <!-- start class org.apache.pig.tools.grunt.Command -->
  <class name="Command" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Command"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="execute"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="commandline" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.grunt.Command -->
  <!-- start class org.apache.pig.tools.grunt.ConsoleReaderInputStream -->
  <class name="ConsoleReaderInputStream" extends="java.io.SequenceInputStream"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ConsoleReaderInputStream" type="jline.console.ConsoleReader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setIn"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setIn"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="reader" type="jline.console.ConsoleReader"/>
    </method>
    <method name="restoreIn"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Restore the original {@link System#in} input stream.]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Borrowed from jline.console.internal.ConsoleReaderInputStream. However,
  we cannot use ConsoleReaderInputStream directly since:
  1. ConsoleReaderInputStream is not public
  2. ConsoleReaderInputStream has a bug which does not deal with UTF-8 correctly]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.grunt.ConsoleReaderInputStream -->
  <!-- start class org.apache.pig.tools.grunt.Grunt -->
  <class name="Grunt" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="Grunt" type="java.io.BufferedReader, org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="ExecException" type="org.apache.pig.backend.executionengine.ExecException"/>
    </constructor>
    <method name="setConsoleReader"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="c" type="jline.console.ConsoleReader"/>
    </method>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="exec" return="int[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="Throwable" type="java.lang.Throwable"/>
    </method>
    <method name="checkScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptFile" type="java.lang.String"/>
      <exception name="Throwable" type="java.lang.Throwable"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.grunt.Grunt -->
  <!-- start class org.apache.pig.tools.grunt.GruntParser -->
  <class name="GruntParser" extends="org.apache.pig.tools.pigscript.parser.PigScriptParser"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="GruntParser" type="java.io.Reader"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="java.io.Reader, org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="java.io.InputStream, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="java.io.InputStream, java.lang.String, org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="java.io.InputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="java.io.InputStream, org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="org.apache.pig.tools.pigscript.parser.PigScriptParserTokenManager"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="GruntParser" type="org.apache.pig.tools.pigscript.parser.PigScriptParserTokenManager, org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setInteractive"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isInteractive" type="boolean"/>
    </method>
    <method name="setValidateEachStatement"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="b" type="boolean"/>
    </method>
    <method name="parseStopOnError" return="int[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="parseStopOnError" return="int[]"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sameBatch" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
      <doc>
      <![CDATA[Parses Pig commands in either interactive mode or batch mode.
 In interactive mode, executes the plan right away whenever a
 STORE command is encountered.

 @throws IOException, ParseException]]>
      </doc>
    </method>
    <method name="setLoadOnly"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="loadOnly" type="boolean"/>
    </method>
    <method name="setScriptIllustrate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="prompt"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="quit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="isDone" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="parseOnly"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processDescribe"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processExplain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <param name="isVerbose" type="boolean"/>
      <param name="format" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processExplain"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <param name="isVerbose" type="boolean"/>
      <param name="format" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <param name="dontPrintOutput" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="explainCurrentBatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="explainCurrentBatch"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dontPrintOutput" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="printAliases"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="printClear"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="processRegister"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jar" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processRegister"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="scriptingLang" type="java.lang.String"/>
      <param name="namespace" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="script" type="java.lang.String"/>
      <param name="batch" type="boolean"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processSet"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processSet"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processCat"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCD"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDump"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processIllustrate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
      <param name="script" type="java.lang.String"/>
      <param name="target" type="java.lang.String"/>
      <param name="params" type="java.util.List"/>
      <param name="files" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.pigscript.parser.ParseException"/>
    </method>
    <method name="processKill"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="jobid" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processLS"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processPWD"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processHistory"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="withNumbers" type="boolean"/>
    </method>
    <method name="printHelp"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="processMove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopy"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopyToLocal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processCopyFromLocal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="src" type="java.lang.String"/>
      <param name="dst" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processMkdir"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="dir" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processPig"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processRemove"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="path" type="java.lang.String"/>
      <param name="options" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processFsCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmdTokens" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processShCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmdTokens" type="java.lang.String[]"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="runSQLCommand" return="int"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="hcatBin" type="java.lang.String"/>
      <param name="cmd" type="java.lang.String"/>
      <param name="mInteractive" type="boolean"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processSQLCommand"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="cmd" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDefault"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="processDeclare"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setExplainState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="explainState" type="org.apache.pig.tools.grunt.GruntParser.ExplainState"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.grunt.GruntParser -->
  <!-- start class org.apache.pig.tools.grunt.GruntParser.ExplainState -->
  <class name="GruntParser.ExplainState" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="ExplainState" type="java.lang.String, java.lang.String, java.lang.String, boolean, java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <field name="mTime" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mCount" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mAlias" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mTarget" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mScript" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mVerbose" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mFormat" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="mLast" type="boolean"
      transient="false" volatile="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.grunt.GruntParser.ExplainState -->
  <!-- start class org.apache.pig.tools.grunt.GruntParser.StreamPrinter -->
  <class name="GruntParser.StreamPrinter" extends="java.lang.Thread"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="StreamPrinter" type="java.io.InputStream, java.lang.String, java.io.PrintStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="run"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[StreamPrinter.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.grunt.GruntParser.StreamPrinter -->
  <!-- start class org.apache.pig.tools.grunt.PigCompletor -->
  <class name="PigCompletor" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="jline.console.completer.Completer"/>
    <constructor name="PigCompletor"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="loadCandidateKeywords" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="java.io.InputStream"/>
      <param name="candidates" type="java.util.Set"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="complete" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buffer" type="java.lang.String"/>
      <param name="cursor" type="int"/>
      <param name="candidates" type="java.util.List"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.grunt.PigCompletor -->
  <!-- start class org.apache.pig.tools.grunt.PigCompletorAliases -->
  <class name="PigCompletorAliases" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="jline.console.completer.Completer"/>
    <constructor name="PigCompletorAliases" type="org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="complete" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="buffer" type="java.lang.String"/>
      <param name="cursor" type="int"/>
      <param name="candidates" type="java.util.List"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.grunt.PigCompletorAliases -->
</package>
<package name="org.apache.pig.tools.parameters">
  <!-- start class org.apache.pig.tools.parameters.ParameterSubstitutionException -->
  <class name="ParameterSubstitutionException" extends="org.apache.pig.tools.parameters.ParseException"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParameterSubstitutionException" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.parameters.ParameterSubstitutionException -->
  <!-- start class org.apache.pig.tools.parameters.ParameterSubstitutionPreprocessor -->
  <class name="ParameterSubstitutionPreprocessor" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ParameterSubstitutionPreprocessor" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param limit - max number of parameters to expect. Smaller values would
 would not cause incorrect behavior but would impact performance]]>
      </doc>
    </constructor>
    <constructor name="ParameterSubstitutionPreprocessor" type="org.apache.pig.tools.parameters.PreprocessorContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="genSubstitutedFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigInput" type="java.io.BufferedReader"/>
      <param name="pigOutput" type="java.io.Writer"/>
      <exception name="ParseException" type="org.apache.pig.tools.parameters.ParseException"/>
      <doc>
      <![CDATA[This is the main API that takes script template and produces pig script 
 @param pigInput - input stream that contains pig file
 @param pigOutput - stream where transformed file is written
 @param paramVal - map of parameter names to values]]>
      </doc>
    </method>
    <method name="genSubstitutedFile"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigInput" type="java.io.BufferedReader"/>
      <param name="pigOutput" type="java.io.Writer"/>
      <param name="params" type="java.lang.String[]"/>
      <param name="paramFiles" type="java.lang.String[]"/>
      <exception name="ParseException" type="org.apache.pig.tools.parameters.ParseException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.parameters.ParameterSubstitutionPreprocessor -->
  <!-- start class org.apache.pig.tools.parameters.PreprocessorContext -->
  <class name="PreprocessorContext" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PreprocessorContext" type="int"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[@param limit - max number of parameters. Passing
                smaller number only impacts performance]]>
      </doc>
    </constructor>
    <method name="getParamVal" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="processShellCmd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="val" type="java.lang.String"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This method generates parameter value by running specified command

 @param key - parameter name
 @param val - string containing command to be executed]]>
      </doc>
    </method>
    <method name="processOrdLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="val" type="java.lang.String"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
      <doc>
      <![CDATA[This method generates value for the specified key by
 performing substitution if needed within the value first.

 @param key - parameter name
 @param val - value supplied for the key]]>
      </doc>
    </method>
    <method name="paramScopePush"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="paramScopePop"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="paramval_containsKey" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="paramval_get" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
    </method>
    <method name="paramval_put"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="value" type="java.lang.String"/>
    </method>
    <method name="processShellCmd"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="val" type="java.lang.String"/>
      <param name="overwrite" type="java.lang.Boolean"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[This method generates parameter value by running specified command

 @param key - parameter name
 @param val - string containing command to be executed]]>
      </doc>
    </method>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="preprocessorCmd" type="java.lang.String"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="processOrdLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.String"/>
      <param name="val" type="java.lang.String"/>
      <param name="overwrite" type="java.lang.Boolean"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
      <doc>
      <![CDATA[This method generates value for the specified key by
 performing substitution if needed within the value first.

 @param key - parameter name
 @param val - value supplied for the key
 @param overwrite - specifies whether the value should be replaced if it already exists]]>
      </doc>
    </method>
    <method name="loadParamVal"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="params" type="java.util.List"/>
      <param name="paramFiles" type="java.util.List"/>
      <exception name="IOException" type="java.io.IOException"/>
      <exception name="ParseException" type="org.apache.pig.tools.parameters.ParseException"/>
    </method>
    <method name="substitute" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="line" type="java.lang.String"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
    </method>
    <method name="substitute" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="line" type="java.lang.String"/>
      <param name="parentKey" type="java.lang.String"/>
      <exception name="ParameterSubstitutionException" type="org.apache.pig.tools.parameters.ParameterSubstitutionException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.parameters.PreprocessorContext -->
  <!-- start class org.apache.pig.tools.parameters.PreprocessorContext.CallableStreamReader -->
  <class name="PreprocessorContext.CallableStreamReader" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.concurrent.Callable"/>
    <constructor name="CallableStreamReader" type="java.io.InputStream"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="call" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[Slurp in an entire input stream and close it.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.parameters.PreprocessorContext.CallableStreamReader -->
</package>
<package name="org.apache.pig.tools.pigstats">
  <!-- start class org.apache.pig.tools.pigstats.EmptyPigStats -->
  <class name="EmptyPigStats" extends="org.apache.pig.tools.pigstats.PigStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="EmptyPigStats"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="EmptyPigStats" type="org.apache.pig.impl.PigContext, org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobClient" return="org.apache.hadoop.mapred.JobClient"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEmbedded" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllStats" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllErrorMessages" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobGraph" return="org.apache.pig.tools.pigstats.PigStats.JobGraph"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOutputLocations" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOutputNames" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberBytes" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
    </method>
    <method name="getNumberRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
    </method>
    <method name="getOutputAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBytesWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getRecordWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOutputStats" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="result" return="org.apache.pig.tools.pigstats.OutputStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="getInputStats" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setBackendException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="java.lang.String"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="start"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="stop"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberSuccessfulJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberFailedJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[EmptyPigStats encapsulates dummy statistics of a fetch task, since during a
 fetch no MR jobs are executed]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.EmptyPigStats -->
  <!-- start class org.apache.pig.tools.pigstats.InputStats -->
  <class name="InputStats" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="InputStats" type="java.lang.String, long, long, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBytes" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSuccessful" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputType" return="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="markSampleInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markIndexerInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="markSideFileInput"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class encapsulates the runtime statistics of a user specified input.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.InputStats -->
  <!-- start class org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE -->
  <class name="InputStats.INPUT_TYPE" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="regular" type="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="sampler" type="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="indexer" type="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="side" type="org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.InputStats.INPUT_TYPE -->
  <!-- start class org.apache.pig.tools.pigstats.JobStats -->
  <class name="JobStats" extends="org.apache.pig.newplan.Operator"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobStats" type="java.lang.String, org.apache.pig.tools.pigstats.PigStats.JobGraph"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobId" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getState" return="org.apache.pig.tools.pigstats.JobStats.JobState"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSuccessful" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSuccessful"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="isSuccessful" type="boolean"/>
    </method>
    <method name="getErrorMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getException" return="java.lang.Exception"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getOutputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInputs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFeature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHdfsBytesRead" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHdfsBytesWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBytesWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total bytes written to user specified HDFS
 locations of this job.]]>
      </doc>
    </method>
    <method name="getRecordWrittern" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total number of records in user specified output
 locations of this job.]]>
      </doc>
    </method>
    <method name="accept"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="isEqual" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="operator" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="setErrorMsg"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errorMsg" type="java.lang.String"/>
    </method>
    <method name="setBackendException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="calculateMedianValue" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="durations" type="java.util.List"/>
      <doc>
      <![CDATA[Calculate the median value from the given array
 @param durations
 @return median value]]>
      </doc>
    </method>
    <method name="isSampler" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isIndexer" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberMaps" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getNumberMaps} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getNumberMaps} instead.]]>
      </doc>
    </method>
    <method name="getNumberReduces" return="int"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getNumberReduces} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getNumberReduces} instead.]]>
      </doc>
    </method>
    <method name="getMaxMapTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMaxMapTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMaxMapTime} instead.]]>
      </doc>
    </method>
    <method name="getMinMapTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMinMapTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMinMapTime} instead.]]>
      </doc>
    </method>
    <method name="getAvgMapTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getAvgMapTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getAvgMapTime} instead.]]>
      </doc>
    </method>
    <method name="getMaxReduceTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMaxReduceTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMaxReduceTime} instead.]]>
      </doc>
    </method>
    <method name="getMinReduceTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMinReduceTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMinReduceTime} instead.]]>
      </doc>
    </method>
    <method name="getAvgREduceTime" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getAvgREduceTime} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getAvgREduceTime} instead.]]>
      </doc>
    </method>
    <method name="getMapInputRecords" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMapInputRecords} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMapInputRecords} instead.]]>
      </doc>
    </method>
    <method name="getMapOutputRecords" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMapOutputRecords} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMapOutputRecords} instead.]]>
      </doc>
    </method>
    <method name="getReduceInputRecords" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getReduceInputRecords} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getReduceInputRecords} instead.]]>
      </doc>
    </method>
    <method name="getReduceOutputRecords" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getReduceOutputRecords} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getReduceOutputRecords} instead.]]>
      </doc>
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getSMMSpillCount} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getSMMSpillCount} instead.]]>
      </doc>
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getProactiveSpillCountObjects} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getProactiveSpillCountObjects} instead.]]>
      </doc>
    </method>
    <method name="getProactiveSpillCountRecs" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getProactiveSpillCountRecs} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getProactiveSpillCountRecs} instead.]]>
      </doc>
    </method>
    <method name="getHadoopCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getHadoopCounters} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getHadoopCounters} instead.]]>
      </doc>
    </method>
    <method name="getMultiStoreCounters" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMultiStoreCounters} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMultiStoreCounters} instead.]]>
      </doc>
    </method>
    <method name="getMultiInputCounters" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMultiInputCounters} instead.">
      <doc>
      <![CDATA[@deprecated If you are using mapreduce, please cast JobStats to org.apache.pig.tools.pigstats.mapreduce.MRJobStats,
 then use {@link org.apache.pig.tools.pigstats.mapreduce.MRJobStats#getMultiInputCounters} instead.]]>
      </doc>
    </method>
    <method name="getOutputSize" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sto" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
      <doc>
      <![CDATA[Looks up the output size reader from OUTPUT_SIZE_READER_KEY and invokes
 it to get the size of output. If OUTPUT_SIZE_READER_KEY is not set,
 defaults to FileBasedOutputSizeReader.
 @param sto POStore
 @param conf configuration]]>
      </doc>
    </method>
    <field name="ALIAS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ALIAS_LOCATION" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FEATURE" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SUCCESS_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FAILURE_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="state" type="org.apache.pig.tools.pigstats.JobStats.JobState"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="outputs" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="inputs" type="java.util.ArrayList"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="conf" type="org.apache.hadoop.conf.Configuration"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="hdfsBytesRead" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="hdfsBytesWritten" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class encapsulates the runtime statistics of a MapReduce job.
 Job statistics is collected when job is completed.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.JobStats -->
  <!-- start class org.apache.pig.tools.pigstats.JobStats.JobState -->
  <class name="JobStats.JobState" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.tools.pigstats.JobStats.JobState[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.tools.pigstats.JobStats.JobState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="UNKNOWN" type="org.apache.pig.tools.pigstats.JobStats.JobState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SUCCESS" type="org.apache.pig.tools.pigstats.JobStats.JobState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FAILED" type="org.apache.pig.tools.pigstats.JobStats.JobState"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.JobStats.JobState -->
  <!-- start class org.apache.pig.tools.pigstats.OutputStats -->
  <class name="OutputStats" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="OutputStats" type="java.lang.String, long, long, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getBytes" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setBytes"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="bytes" type="long"/>
    </method>
    <method name="getRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setRecords"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="records" type="long"/>
    </method>
    <method name="getNumberRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFunctionName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSuccessful" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setSuccessful"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="success" type="boolean"/>
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPOStore" return="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getConf" return="org.apache.hadoop.conf.Configuration"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setPOStore"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <doc>
    <![CDATA[This class encapsulates the runtime statistics of an user specified output.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.OutputStats -->
  <!-- start interface org.apache.pig.tools.pigstats.PigProgressNotificationListener -->
  <interface name="PigProgressNotificationListener"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.util.EventListener"/>
    <method name="initialPlanNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <doc>
      <![CDATA[Invoked before any Hadoop jobs (or a Tez DAG) are run with the plan that is to be executed.

 @param scriptId the unique id of the script
 @param plan the OperatorPlan that is to be executed]]>
      </doc>
    </method>
    <method name="launchStartedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="numJobsToLaunch" type="int"/>
      <doc>
      <![CDATA[Invoked just before launching Hadoop jobs (or tez DAGs) spawned by the script.
 @param scriptId the unique id of the script
 @param numJobsToLaunch the total number of Hadoop jobs (or Tez DAGs) spawned by the script]]>
      </doc>
    </method>
    <method name="jobsSubmittedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="numJobsSubmitted" type="int"/>
      <doc>
      <![CDATA[Invoked just before submitting a batch of Hadoop jobs (or Tez DAGs).
 @param scriptId the unique id of the script
 @param numJobsSubmitted the number of Hadoop jobs (or Tez DAGs) in the batch]]>
      </doc>
    </method>
    <method name="jobStartedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="assignedJobId" type="java.lang.String"/>
      <doc>
      <![CDATA[Invoked after a Hadoop job (or Tez DAG) is started.
 @param scriptId the unique id of the script
 @param assignedJobId the Hadoop job id (or Tez DAG job id)]]>
      </doc>
    </method>
    <method name="jobFinishedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="jobStats" type="org.apache.pig.tools.pigstats.JobStats"/>
      <doc>
      <![CDATA[Invoked just after a Hadoop job (or Tez DAG) is completed successfully.
 @param scriptId the unique id of the script
 @param jobStats the {@link JobStats} object associated with the Hadoop job (or Tez DAG)]]>
      </doc>
    </method>
    <method name="jobFailedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="jobStats" type="org.apache.pig.tools.pigstats.JobStats"/>
      <doc>
      <![CDATA[Invoked when a Hadoop job fails.
 @param scriptId the unique id of the script
 @param jobStats the {@link JobStats} object associated with the Hadoop job]]>
      </doc>
    </method>
    <method name="outputCompletedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="outputStats" type="org.apache.pig.tools.pigstats.OutputStats"/>
      <doc>
      <![CDATA[Invoked just after an output is successfully written.
 @param scriptId the unique id of the script
 @param outputStats the {@link OutputStats} object associated with the output]]>
      </doc>
    </method>
    <method name="progressUpdatedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="progress" type="int"/>
      <doc>
      <![CDATA[Invoked to update the execution progress.
 @param scriptId the unique id of the script
 @param progress the percentage of the execution progress]]>
      </doc>
    </method>
    <method name="launchCompletedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="numJobsSucceeded" type="int"/>
      <doc>
      <![CDATA[Invoked just after all Hadoop jobs (Tez DAGs) spawned by the script are completed.
 @param scriptId the unique id of the script
 @param numJobsSucceeded the total number of Hadoop jobs (Tez DAGs) succeeded]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Should be implemented by an object that wants to receive notifications
 from {@link PigRunner}.]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.tools.pigstats.PigProgressNotificationListener -->
  <!-- start class org.apache.pig.tools.pigstats.PigStats -->
  <class name="PigStats" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigStats"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="start" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stats" type="org.apache.pig.tools.pigstats.PigStats"/>
    </method>
    <method name="getReturnCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns code are defined in {@link ReturnCode}]]>
      </doc>
    </method>
    <method name="getErrorMessage" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns error message string]]>
      </doc>
    </method>
    <method name="getErrorCode" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the error code of {@link PigException}]]>
      </doc>
    </method>
    <method name="getErrorThrowable" return="java.lang.Throwable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the error code of {@link PigException}]]>
      </doc>
    </method>
    <method name="getJobClient" return="org.apache.hadoop.mapred.JobClient"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEmbedded" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isSuccessful" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllStats" return="java.util.Map"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllErrorMessages" return="java.util.List"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigProperties" return="java.util.Properties"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the properties associated with the script]]>
      </doc>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the display message in pig grunt]]>
      </doc>
    </method>
    <method name="getJobGraph" return="org.apache.pig.tools.pigstats.PigStats.JobGraph"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the DAG of jobs spawned by the script]]>
      </doc>
    </method>
    <method name="getOutputLocations" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of output locations in the script]]>
      </doc>
    </method>
    <method name="getOutputNames" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the list of output names in the script]]>
      </doc>
    </method>
    <method name="getNumberBytes" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns the number of bytes for the given output location,
 -1 for invalid location or name.]]>
      </doc>
    </method>
    <method name="getNumberRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns the number of records for the given output location,
 -1 for invalid location or name.]]>
      </doc>
    </method>
    <method name="getOutputAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="location" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns the alias associated with this output location]]>
      </doc>
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total spill counts from {@link SpillableMemoryManager}.]]>
      </doc>
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total number of bags that spilled proactively]]>
      </doc>
    </method>
    <method name="getProactiveSpillCountRecords" return="long"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total number of records that spilled proactively]]>
      </doc>
    </method>
    <method name="getBytesWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total bytes written to user specified HDFS
 locations of this script.]]>
      </doc>
    </method>
    <method name="getRecordWritten" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the total number of records in user specified output
 locations of this script.]]>
      </doc>
    </method>
    <method name="getHadoopVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScript" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the contents of the script that was run.]]>
      </doc>
    </method>
    <method name="getScriptId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFeatures" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDuration" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns the number of jobs for this script]]>
      </doc>
    </method>
    <method name="getOutputStats" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="result" return="org.apache.pig.tools.pigstats.OutputStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="alias" type="java.lang.String"/>
    </method>
    <method name="getInputStats" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setErrorMessage"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errorMessage" type="java.lang.String"/>
    </method>
    <method name="setErrorCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="errorCode" type="int"/>
    </method>
    <method name="setErrorThrowable"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="java.lang.Throwable"/>
    </method>
    <method name="setReturnCode"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="returnCode" type="int"/>
    </method>
    <method name="setBackendException"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobId" type="java.lang.String"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="getPigContext" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="start"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="stop"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberSuccessfulJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberFailedJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="DATE_FORMAT" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="startTime" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="endTime" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="userId" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="jobPlan" type="org.apache.pig.tools.pigstats.PigStats.JobGraph"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigContext" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="aliasOuputMap" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorCode" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorMessage" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="errorThrowable" type="java.lang.Throwable"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="returnCode" type="int"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[PigStats encapsulates the statistics collected from a running script. It
 includes status of the execution, the DAG of its Hadoop jobs, as well as
 information about outputs and inputs of the script.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.PigStats -->
  <!-- start class org.apache.pig.tools.pigstats.PigStats.JobGraph -->
  <class name="PigStats.JobGraph" extends="org.apache.pig.newplan.BaseOperatorPlan"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.lang.Iterable"/>
    <constructor name="JobGraph"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobList" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns a List representation of the Job graph. Returned list is an
 ArrayList

 @return List<JobStats>]]>
      </doc>
    </method>
    <method name="iterator" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isConnected" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="from" type="org.apache.pig.newplan.Operator"/>
      <param name="to" type="org.apache.pig.newplan.Operator"/>
    </method>
    <method name="getSuccessfulJobs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFailedJobs" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[JobGraph is an {@link OperatorPlan} whose members are {@link JobStats}]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.PigStats.JobGraph -->
  <!-- start class org.apache.pig.tools.pigstats.PigStats.JobGraphPrinter -->
  <class name="PigStats.JobGraphPrinter" extends="org.apache.pig.newplan.PlanVisitor"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="JobGraphPrinter" type="org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="visit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="op" type="org.apache.pig.tools.pigstats.JobStats"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[This class prints a JobGraph]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.PigStats.JobGraphPrinter -->
  <!-- start class org.apache.pig.tools.pigstats.PigStatsUtil -->
  <class name="PigStatsUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="PigStatsUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getEmptyPigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Returns an empty PigStats object Use of this method is not advised as it
 will return the MR execution engine version of PigStats by default, and
 is not necessarily empty depending on the timing.

 @return an empty PigStats object]]>
      </doc>
    </method>
    <method name="getPigStats" return="org.apache.pig.tools.pigstats.PigStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="int"/>
      <doc>
      <![CDATA[Returns the PigStats with the given return code

 @param code the return code
 @return the PigStats with the given return code]]>
      </doc>
    </method>
    <method name="setErrorMessage"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="msg" type="java.lang.String"/>
    </method>
    <method name="setErrorCode"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="code" type="int"/>
    </method>
    <method name="setErrorThrowable"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="t" type="java.lang.Throwable"/>
    </method>
    <method name="isTempFile" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
    </method>
    <method name="setStatsMap"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="statsMap" type="java.util.Map"/>
    </method>
    <method name="getMultiInputsCounterName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fname" type="java.lang.String"/>
      <param name="index" type="int"/>
      <doc>
      <![CDATA[Returns the counter name for the given input file name

 @param fname the input file name
 @return the counter name]]>
      </doc>
    </method>
    <method name="getMultiStoreCounterName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <doc>
      <![CDATA[Returns the counter name for the given {@link POStore}

 @param store the POStore
 @return the counter name]]>
      </doc>
    </method>
    <method name="getShortName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="uri" type="java.lang.String"/>
    </method>
    <field name="MAP_INPUT_RECORDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_OUTPUT_RECORDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_INPUT_RECORDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_OUTPUT_RECORDS" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="HDFS_BYTES_WRITTEN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="HDFS_BYTES_READ" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILE_BYTES_WRITTEN" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILE_BYTES_READ" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_INPUTS_RECORD_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_INPUTS_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_STORE_RECORD_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_STORE_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil#TASK_COUNTER_GROUP} instead.">
      <doc>
      <![CDATA[@deprecated use {@link org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil#TASK_COUNTER_GROUP} instead.]]>
      </doc>
    </field>
    <field name="FS_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="use {@link org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil#FS_COUNTER_GROUP} instead.">
      <doc>
      <![CDATA[@deprecated use {@link org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil#FS_COUNTER_GROUP} instead.]]>
      </doc>
    </field>
    <doc>
    <![CDATA[A utility class for Pig Statistics]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.PigStatsUtil -->
  <!-- start class org.apache.pig.tools.pigstats.PigStatusReporter -->
  <class name="PigStatusReporter" extends="org.apache.hadoop.mapreduce.StatusReporter"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.hadoop.util.Progressable"/>
    <implements name="org.apache.pig.tools.pigstats.PigWarnCounter"/>
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInstance" return="org.apache.pig.tools.pigstats.PigStatusReporter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get singleton instance of the context]]>
      </doc>
    </method>
    <method name="setContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="context" type="org.apache.pig.backend.hadoop.executionengine.TaskContext"/>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="use {@link org.apache.pig.tools.pigstats.PigStatusReporter#incrCounter} instead.
 This method returns MR counter which is not compatible with Tez mode. Use
 incrCounter() that is compatible with both MR and Tez mode.">
      <param name="name" type="java.lang.Enum"/>
      <doc>
      <![CDATA[@deprecated use {@link org.apache.pig.tools.pigstats.PigStatusReporter#incrCounter} instead.
 This method returns MR counter which is not compatible with Tez mode. Use
 incrCounter() that is compatible with both MR and Tez mode.]]>
      </doc>
    </method>
    <method name="getCounter" return="org.apache.hadoop.mapreduce.Counter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="use {@link org.apache.pig.tools.pigstats.PigStatusReporter#incrCounter} instead.
 This method returns MR counter which is not compatible with Tez mode. Use
 incrCounter() that is compatible with both MR and Tez mode.">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[@deprecated use {@link org.apache.pig.tools.pigstats.PigStatusReporter#incrCounter} instead.
 This method returns MR counter which is not compatible with Tez mode. Use
 incrCounter() that is compatible with both MR and Tez mode.]]>
      </doc>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="incr" type="long"/>
    </method>
    <method name="incrCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="incr" type="long"/>
    </method>
    <method name="incrWarnCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
    <method name="incrWarnCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
    <method name="progress"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setStatus"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="status" type="java.lang.String"/>
    </method>
    <method name="getProgress" return="float"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.PigStatusReporter -->
  <!-- start interface org.apache.pig.tools.pigstats.PigWarnCounter -->
  <interface name="PigWarnCounter"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="incrWarnCounter" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
    <method name="incrWarnCounter" return="boolean"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
  </interface>
  <!-- end interface org.apache.pig.tools.pigstats.PigWarnCounter -->
  <!-- start class org.apache.pig.tools.pigstats.ScriptState -->
  <class name="ScriptState" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="ScriptState" type="java.lang.String"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="start" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="state" type="org.apache.pig.tools.pigstats.ScriptState"/>
    </method>
    <method name="start" return="org.apache.pig.tools.pigstats.ScriptState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="use {@link org.apache.pig.tools.pigstats.ScriptState#start(ScriptState)} instead.">
      <param name="commandLine" type="java.lang.String"/>
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <doc>
      <![CDATA[@deprecated use {@link org.apache.pig.tools.pigstats.ScriptState#start(ScriptState)} instead.]]>
      </doc>
    </method>
    <method name="registerListener"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="listener" type="org.apache.pig.tools.pigstats.PigProgressNotificationListener"/>
    </method>
    <method name="getAllListeners" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="emitInitialPlanNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.impl.plan.OperatorPlan"/>
    </method>
    <method name="emitLaunchStartedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numJobsToLaunch" type="int"/>
    </method>
    <method name="emitJobsSubmittedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numJobsSubmitted" type="int"/>
    </method>
    <method name="emitJobStartedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="assignedJobId" type="java.lang.String"/>
    </method>
    <method name="emitjobFinishedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobStats" type="org.apache.pig.tools.pigstats.JobStats"/>
    </method>
    <method name="emitJobFailedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobStats" type="org.apache.pig.tools.pigstats.JobStats"/>
    </method>
    <method name="emitOutputCompletedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="outputStats" type="org.apache.pig.tools.pigstats.OutputStats"/>
    </method>
    <method name="emitProgressUpdatedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="progress" type="int"/>
    </method>
    <method name="emitLaunchCompletedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="numJobsSucceeded" type="int"/>
    </method>
    <method name="setScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="file" type="java.io.File"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="script" type="java.lang.String"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="setScriptFeatures"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.newplan.logical.relational.LogicalPlan"/>
    </method>
    <method name="getHadoopVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigVersion" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFileName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setFileName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fileName" type="java.lang.String"/>
    </method>
    <method name="getId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCommandLine"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="commandLine" type="java.lang.String"/>
    </method>
    <method name="getCommandLine" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSerializedScript" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScript" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setScript"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="reader" type="java.io.BufferedReader"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="bitSetToLong" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="bs" type="java.util.BitSet"/>
    </method>
    <method name="featureLongToString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
      <param name="l" type="long"/>
    </method>
    <method name="setPigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
    </method>
    <method name="getPigContext" return="org.apache.pig.impl.PigContext"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getScriptFeatures" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="id" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="serializedScript" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="truncatedScript" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="commandLine" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="fileName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigVersion" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="hadoopVersion" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="scriptFeatures" type="long"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="pigContext" type="org.apache.pig.impl.PigContext"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="listeners" type="java.util.List"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[ScriptStates encapsulates settings for a Pig script that runs on a hadoop
 cluster. These settings are added to all MR jobs spawned by the script and in
 turn are persisted in the hadoop job xml. With the properties already in the
 job xml, users who want to know the relations between the script and MR jobs
 can derive them from the job xmls.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.ScriptState -->
  <!-- start class org.apache.pig.tools.pigstats.ScriptState.AliasVisitor -->
  <class name="ScriptState.AliasVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="AliasVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.util.List, java.util.List"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitLoad"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mergeCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitFilter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="fl" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFilter"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLocalRearrange"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lr" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLocalRearrange"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPOForEach"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="nfe" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POForEach"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitUnion"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="un" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POUnion"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSort"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sort" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSort"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitLimit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="lim" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLimit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSkewedJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sk" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSkewedJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.ScriptState.AliasVisitor -->
  <!-- start class org.apache.pig.tools.pigstats.ScriptState.FeatureVisitor -->
  <class name="ScriptState.FeatureVisitor" extends="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhyPlanVisitor"
    abstract="false"
    static="true" final="false" visibility="protected"
    deprecated="not deprecated">
    <constructor name="FeatureVisitor" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.plans.PhysicalPlan, java.util.BitSet"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="visitFRJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POFRJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeJoin"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="join" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeJoin"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitMergeCoGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mergeCoGrp" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POMergeCogroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitCollectedGroup"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POCollectedGroup"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDistinct"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="distinct" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODistinct"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitStream"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="stream" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStream"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitSplit"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="split" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POSplit"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitDemux"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="demux" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.PODemux"/>
      <exception name="VisitorException" type="org.apache.pig.impl.plan.VisitorException"/>
    </method>
    <method name="visitPartialAgg"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="partAgg" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POPartialAgg"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.ScriptState.FeatureVisitor -->
  <!-- start class org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE -->
  <class name="ScriptState.PIG_FEATURE" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="UNKNOWN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGE_JOIN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGE_SPARSE_JOIN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REPLICATED_JOIN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SKEWED_JOIN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="BUILD_BLOOM" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILTER_BLOOM" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="HASH_JOIN" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COLLECTED_GROUP" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MERGE_COGROUP" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COGROUP" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="GROUP_BY" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ORDER_BY" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RANK" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DISTINCT" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="STREAMING" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SAMPLER" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INDEXER" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MULTI_QUERY" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FILTER" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_ONLY" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CROSS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LIMIT" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="UNION" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COMBINER" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="NATIVE" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_PARTIALAGG" type="org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Features used in a Pig script]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.ScriptState.PIG_FEATURE -->
  <!-- start class org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY -->
  <class name="ScriptState.PIG_PROPERTY" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="protected"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="toString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="SCRIPT_ID" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCRIPT" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COMMAND_LINE" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="HADOOP_VERSION" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="VERSION" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="INPUT_DIRS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAP_OUTPUT_DIRS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REDUCE_OUTPUT_DIRS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_PARENTS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_FEATURE" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SCRIPT_FEATURES" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_ALIAS" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="JOB_ALIAS_LOCATION" type="org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[Keys of Pig settings added to Jobs]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.ScriptState.PIG_PROPERTY -->
</package>
<package name="org.apache.pig.tools.pigstats.mapreduce">
  <!-- start class org.apache.pig.tools.pigstats.mapreduce.MRJobStats -->
  <class name="MRJobStats" extends="org.apache.pig.tools.pigstats.JobStats"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberMaps" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberReduces" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgREduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecs" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHadoopCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiStoreCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiInputCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getFeature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getTaskReports" return="java.util.Iterator"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <param name="type" type="org.apache.hadoop.mapreduce.TaskType"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <method name="getCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <exception name="IOException" type="java.io.IOException"/>
    </method>
    <field name="SUCCESS_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FAILURE_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[This class encapsulates the runtime statistics of a MapReduce job.
 Job statistics is collected when job is completed.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.mapreduce.MRJobStats -->
  <!-- start class org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil -->
  <class name="MRPigStatsUtil" extends="org.apache.pig.tools.pigstats.PigStatsUtil"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRPigStatsUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getMultiStoreCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <param name="jobClient" type="org.apache.hadoop.mapred.JobClient"/>
      <param name="counterName" type="java.lang.String"/>
      <doc>
      <![CDATA[Returns the count for the given counter name in the counter group
 'MultiStoreCounters'

 @param job the MR job
 @param jobClient the Hadoop job client
 @param counterName the counter name
 @return the count of the given counter name]]>
      </doc>
    </method>
    <method name="startCollection"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pc" type="org.apache.pig.impl.PigContext"/>
      <param name="client" type="org.apache.hadoop.mapred.JobClient"/>
      <param name="jcc" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler"/>
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"/>
      <doc>
      <![CDATA[Starts collecting statistics for the given MR plan

 @param pc the Pig context
 @param client the Hadoop job client
 @param jcc the job compiler
 @param plan the MR plan]]>
      </doc>
    </method>
    <method name="stopCollection"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="display" type="boolean"/>
      <doc>
      <![CDATA[Stops collecting statistics for a MR plan

 @param display if true, log collected statistics in the Pig log
      file at INFO level]]>
      </doc>
    </method>
    <method name="addJobStats" return="org.apache.pig.tools.pigstats.JobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <doc>
      <![CDATA[Add stats for a new Job, which doesn't yet need to be completed.

 @param job the job being run
 @return JobStats for the job]]>
      </doc>
    </method>
    <method name="displayStatistics"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Logs the statistics in the Pig log file at INFO level]]>
      </doc>
    </method>
    <method name="updateJobMroMap"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobMroMap" type="java.util.Map"/>
      <doc>
      <![CDATA[Updates the {@link JobGraph} of the {@link PigStats}. The initial
 {@link JobGraph} is created without job ids using {@link MROperPlan},
 before any job is submitted for execution. The {@link JobGraph} then
 is updated with job ids after jobs are executed.

 @param jobMroMap the map that maps {@link Job}s to {@link MapReduceOper}s]]>
      </doc>
    </method>
    <method name="accumulateStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jc" type="org.apache.hadoop.mapred.jobcontrol.JobControl"/>
      <doc>
      <![CDATA[Updates the statistics after a patch of jobs is done

 @param jc the job control]]>
      </doc>
    </method>
    <method name="setBackendException"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="job" type="org.apache.hadoop.mapred.jobcontrol.Job"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="addNativeJobStats" return="org.apache.pig.tools.pigstats.mapreduce.MRJobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="org.apache.pig.tools.pigstats.PigStats"/>
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NativeMapReduceOper"/>
      <param name="success" type="boolean"/>
    </method>
    <method name="addNativeJobStats" return="org.apache.pig.tools.pigstats.mapreduce.MRJobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="org.apache.pig.tools.pigstats.PigStats"/>
      <param name="mr" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.NativeMapReduceOper"/>
      <param name="success" type="boolean"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <field name="TASK_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FS_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <doc>
    <![CDATA[A utility class for Pig Statistics]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil -->
  <!-- start class org.apache.pig.tools.pigstats.mapreduce.MRScriptState -->
  <class name="MRScriptState" extends="org.apache.pig.tools.pigstats.ScriptState"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MRScriptState" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.tools.pigstats.mapreduce.MRScriptState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addSettingsToConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addWorkflowAdjacenciesToConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mrop" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.plans.MROperPlan"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <method name="getPigFeature" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="mro" type="org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceOper"/>
    </method>
    <doc>
    <![CDATA[ScriptStates encapsulates settings for a Pig script that runs on a hadoop
 cluster. These settings are added to all MR jobs spawned by the script and
 in turn are persisted in the hadoop job xml. With the properties already in
 the job xml, users who want to know the relations between the script and MR
 jobs can derive them from the job xmls.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.mapreduce.MRScriptState -->
  <!-- start class org.apache.pig.tools.pigstats.mapreduce.SimplePigStats -->
  <class name="SimplePigStats" extends="org.apache.pig.tools.pigstats.PigStats"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <constructor name="SimplePigStats"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAllErrorMessages" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllStats" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEmbedded" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobClient" return="org.apache.hadoop.mapred.JobClient"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[SimplePigStats encapsulates the statistics collected from a running script.
 It includes status of the execution, the DAG of its MR jobs, as well as
 information about outputs and inputs of the script.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.mapreduce.SimplePigStats -->
</package>
<package name="org.apache.pig.tools.pigstats.spark">
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounter -->
  <class name="SparkCounter" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="SparkCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SparkCounter" type="java.lang.String, java.lang.String, java.lang.String, java.lang.Object, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createAccumulatorParam" return="&lt;any&gt;"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="increment"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="incr" type="java.lang.Object"/>
    </method>
    <method name="getName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setDisplayName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="displayName" type="java.lang.String"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounter -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounter.LongSparkCounter -->
  <class name="SparkCounter.LongSparkCounter" extends="org.apache.pig.tools.pigstats.spark.SparkCounter"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongSparkCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="LongSparkCounter" type="java.lang.String, java.lang.String, java.lang.String, java.lang.Long, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createAccumulatorParam" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounter.LongSparkCounter -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounter.MapSparkCounter -->
  <class name="SparkCounter.MapSparkCounter" extends="org.apache.pig.tools.pigstats.spark.SparkCounter"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapSparkCounter"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="MapSparkCounter" type="java.lang.String, java.lang.String, java.lang.String, java.util.Map, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createAccumulatorParam" return="&lt;any&gt;"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounter.MapSparkCounter -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounterGroup -->
  <class name="SparkCounterGroup" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <constructor name="SparkCounterGroup" type="java.lang.String, java.lang.String, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createCounter"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="initValue" type="java.lang.Object"/>
    </method>
    <method name="getCounter" return="org.apache.pig.tools.pigstats.spark.SparkCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <method name="getGroupName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getGroupDisplayName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setGroupDisplayName"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupDisplayName" type="java.lang.String"/>
    </method>
    <method name="getSparkCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="groupName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="groupDisplayName" type="java.lang.String"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="sparkCounters" type="java.util.Map"
      transient="false" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
    <field name="javaSparkContext" type="JavaSparkContext"
      transient="true" volatile="false"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounterGroup -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounterGroup.LongSparkCounterGroup -->
  <class name="SparkCounterGroup.LongSparkCounterGroup" extends="org.apache.pig.tools.pigstats.spark.SparkCounterGroup"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="LongSparkCounterGroup" type="java.lang.String, java.lang.String, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="initValue" type="java.lang.Long"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounterGroup.LongSparkCounterGroup -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounterGroup.MapSparkCounterGroup -->
  <class name="SparkCounterGroup.MapSparkCounterGroup" extends="org.apache.pig.tools.pigstats.spark.SparkCounterGroup"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="MapSparkCounterGroup" type="java.lang.String, java.lang.String, JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <param name="initValue" type="java.util.Map"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounterGroup.MapSparkCounterGroup -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkCounters -->
  <class name="SparkCounters" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.io.Serializable"/>
    <implements name="org.apache.pig.tools.pigstats.PigWarnCounter"/>
    <constructor name="SparkCounters" type="JavaSparkContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Enum"/>
    </method>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="key" type="java.lang.Enum"/>
    </method>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
    </method>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
      <param name="initValue" type="java.lang.Object"/>
    </method>
    <method name="increment"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Enum"/>
      <param name="incrValue" type="long"/>
    </method>
    <method name="increment"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
      <param name="value" type="long"/>
    </method>
    <method name="getValue" return="java.lang.Object"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
    </method>
    <method name="getCounter" return="org.apache.pig.tools.pigstats.spark.SparkCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
    </method>
    <method name="getCounter" return="org.apache.pig.tools.pigstats.spark.SparkCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="key" type="java.lang.Enum"/>
    </method>
    <method name="getSparkCounterGroups" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="incrWarnCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.Enum"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
    <method name="incrWarnCounter" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="group" type="java.lang.String"/>
      <param name="name" type="java.lang.String"/>
      <param name="incr" type="java.lang.Object"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkCounters -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkJobStats -->
  <class name="SparkJobStats" extends="org.apache.pig.tools.pigstats.JobStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkJobStats" type="int, org.apache.pig.tools.pigstats.PigStats.JobGraph, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <constructor name="SparkJobStats" type="java.lang.String, org.apache.pig.tools.pigstats.PigStats.JobGraph, org.apache.hadoop.conf.Configuration"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addOutputInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="success" type="boolean"/>
      <param name="jobMetricsListener" type="org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener"/>
    </method>
    <method name="addInputStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="po" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
      <param name="success" type="boolean"/>
      <param name="singleInput" type="boolean"/>
    </method>
    <method name="collectStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobMetricsListener" type="org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener"/>
    </method>
    <method name="getStats" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberMaps" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberReduces" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgREduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecs" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHadoopCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiStoreCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiInputCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setAlias"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="getWarningCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="initWarningCounters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="FS_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkJobStats -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkPigStats -->
  <class name="SparkPigStats" extends="org.apache.pig.tools.pigstats.PigStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkPigStats"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="pigContext" type="org.apache.pig.impl.PigContext"/>
      <param name="sparkPlan" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addJobStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="jobId" type="int"/>
      <param name="jobMetricsListener" type="org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener"/>
      <param name="sparkContext" type="JavaSparkContext"/>
    </method>
    <method name="addFailJobStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="jobId" type="java.lang.String"/>
      <param name="jobMetricsListener" type="org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener"/>
      <param name="sparkContext" type="JavaSparkContext"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="addNativeJobStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.NativeSparkOperator"/>
      <param name="jobId" type="java.lang.String"/>
      <param name="isSuccess" type="boolean"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobClient" return="org.apache.hadoop.mapred.JobClient"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="isEmbedded" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllStats" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllErrorMessages" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberJobs" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkPigStats -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkPigStatusReporter -->
  <class name="SparkPigStatusReporter" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="staticDataCleanup"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getInstance" return="org.apache.pig.tools.pigstats.spark.SparkPigStatusReporter"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="createCounter"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="groupName" type="java.lang.String"/>
      <param name="counterName" type="java.lang.String"/>
    </method>
    <method name="getCounters" return="org.apache.pig.tools.pigstats.spark.SparkCounters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setCounters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="counters" type="org.apache.pig.tools.pigstats.spark.SparkCounters"/>
    </method>
    <doc>
    <![CDATA[Just like PigStatusReporter which will create/reset Hadoop counters, SparkPigStatusReporter will
 create/reset Spark counters.
 Note that, it is not suitable to make SparkCounters as a Singleton, it will be created/reset for
 a given pig script or a Dump/Store action in Grunt mode.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkPigStatusReporter -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkScriptState -->
  <class name="SparkScriptState" extends="org.apache.pig.tools.pigstats.ScriptState"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkScriptState" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="setScriptInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="plan" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"/>
    </method>
    <method name="getScriptInfo" return="org.apache.pig.tools.pigstats.spark.SparkScriptState.SparkScriptInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <doc>
    <![CDATA[ScriptStates encapsulates settings for a Pig script that runs on a hadoop
 cluster. These settings are added to all Spark jobs spawned by the script and
 in turn are persisted in the hadoop job xml. With the properties already in
 the job xml, users who want to know the relations between the script and Spark
 jobs can derive them from the job xmls.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkScriptState -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkScriptState.SparkScriptInfo -->
  <class name="SparkScriptState.SparkScriptInfo" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkScriptInfo" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
    <method name="getPigFeatures" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="sparkOp" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkScriptState.SparkScriptInfo -->
  <!-- start class org.apache.pig.tools.pigstats.spark.SparkStatsUtil -->
  <class name="SparkStatsUtil" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="SparkStatsUtil"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="waitForJobAddStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="int"/>
      <param name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="jobMetricsListener" type="org.apache.pig.backend.hadoop.executionengine.spark.JobMetricsListener"/>
      <param name="sparkContext" type="JavaSparkContext"/>
      <param name="sparkPigStats" type="org.apache.pig.tools.pigstats.spark.SparkPigStats"/>
      <exception name="InterruptedException" type="java.lang.InterruptedException"/>
    </method>
    <method name="addFailJobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="java.lang.String"/>
      <param name="poStore" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
      <param name="sparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.plan.SparkOperator"/>
      <param name="sparkPigStats" type="org.apache.pig.tools.pigstats.spark.SparkPigStats"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <method name="getCounterName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
    </method>
    <method name="getCounterName" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
    </method>
    <method name="getRecordCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="store" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore"/>
    </method>
    <method name="getRecordCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="load" type="org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POLoad"/>
    </method>
    <method name="isJobSuccess" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="jobID" type="int"/>
      <param name="sparkContext" type="JavaSparkContext"/>
    </method>
    <method name="addNativeJobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="org.apache.pig.tools.pigstats.PigStats"/>
      <param name="nativeSparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.NativeSparkOperator"/>
    </method>
    <method name="addFailedNativeJobStats"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="ps" type="org.apache.pig.tools.pigstats.PigStats"/>
      <param name="nativeSparkOperator" type="org.apache.pig.backend.hadoop.executionengine.spark.operator.NativeSparkOperator"/>
      <param name="e" type="java.lang.Exception"/>
    </method>
    <field name="SPARK_STORE_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SPARK_STORE_RECORD_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SPARK_INPUT_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SPARK_INPUT_RECORD_COUNTER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.spark.SparkStatsUtil -->
</package>
<package name="org.apache.pig.tools.pigstats.tez">
  <!-- start class org.apache.pig.tools.pigstats.tez.PigTezProgressNotificationListener -->
  <class name="PigTezProgressNotificationListener" extends="java.lang.Object"
    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.tools.pigstats.PigProgressNotificationListener"/>
    <constructor name="PigTezProgressNotificationListener"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="dagLaunchNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="dagId" type="java.lang.String"/>
      <param name="dagPlan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <param name="numVerticesToLaunch" type="int"/>
      <doc>
      <![CDATA[Invoked just before launching a Tez DAG spawned by the script.

 @param scriptId the unique id of the script
 @param dagId the unique name of the Tez DAG
 @param dagPlan the OperatorPlan that is to be executed
 @param numVerticesToLaunch the total number of vertices spawned by the Tez DAG]]>
      </doc>
    </method>
    <method name="dagStartedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="dagId" type="java.lang.String"/>
      <param name="assignedApplicationId" type="java.lang.String"/>
      <doc>
      <![CDATA[Invoked after a Tez DAG is started.

 @param scriptId the unique id of the script
 @param dagId the unique name of the Tez DAG
 @param assignedApplicationId
            the YARN application id for the Tez DAG. More than one Tez DAG
            can share same application ID if session reuse is turned on.
            Session reuse is turned on by default]]>
      </doc>
    </method>
    <method name="dagProgressNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="dagId" type="java.lang.String"/>
      <param name="numVerticesCompleted" type="int"/>
      <param name="progress" type="int"/>
      <doc>
      <![CDATA[Invoked to update the execution progress.

 @param scriptId the unique id of the script
 @param dagId the unique name of the Tez DAG
 @param numVerticesCompleted the number of vertices completed so far
 @param progress the percentage of the execution progress based on total number of tasks of all vertices]]>
      </doc>
    </method>
    <method name="dagCompletedNotification"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="scriptId" type="java.lang.String"/>
      <param name="dagId" type="java.lang.String"/>
      <param name="success" type="boolean"/>
      <param name="tezDAGStats" type="org.apache.pig.tools.pigstats.tez.TezDAGStats"/>
      <doc>
      <![CDATA[Invoked just after the Tez DAGs is completed (successful or failed).
 @param scriptId the unique id of the script
 @param dagId the unique name of the Tez DAG
 @param success true if the Tez DAG was successful, false otherwise
 @param tezDAGStats the stats information for the DAG]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Should be implemented by an object that wants to receive notifications
 from {@link PigRunner}.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.PigTezProgressNotificationListener -->
  <!-- start class org.apache.pig.tools.pigstats.tez.TezDAGStats -->
  <class name="TezDAGStats" extends="org.apache.pig.tools.pigstats.JobStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezDAGStats" type="java.lang.String, org.apache.pig.tools.pigstats.PigStats.JobGraph, java.util.Map, java.lang.StringBuilder"
      static="false" final="false" visibility="protected"
      deprecated="not deprecated">
    </constructor>
    <method name="getVertexStats" return="org.apache.pig.tools.pigstats.tez.TezVertexStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="vertexName" type="java.lang.String"/>
    </method>
    <method name="accumulateStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezJob" type="org.apache.pig.backend.hadoop.executionengine.tez.TezJob"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Updates the statistics after a DAG is finished.]]>
      </doc>
    </method>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setJobId"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="appId" type="java.lang.String"/>
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberMaps" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberReduces" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgREduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecs" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHadoopCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiStoreCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiInputCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <field name="DAG_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FS_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="TASK_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PIG_COUNTER_GROUP" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SUCCESS_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FAILURE_HEADER" type="java.lang.String"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.TezDAGStats -->
  <!-- start class org.apache.pig.tools.pigstats.tez.TezPigScriptStats -->
  <class name="TezPigScriptStats" extends="org.apache.pig.tools.pigstats.PigStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezPigScriptStats" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="initialize"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanContainer" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainer"/>
    </method>
    <method name="finish"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accumulateStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezJob" type="org.apache.pig.backend.hadoop.executionengine.tez.TezJob"/>
      <exception name="IOException" type="java.io.IOException"/>
      <doc>
      <![CDATA[Updates the statistics after a DAG is finished.]]>
      </doc>
    </method>
    <method name="addTezJobStatsForNative" return="org.apache.pig.tools.pigstats.tez.TezDAGStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="tezOper" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.operator.NativeTezOper"/>
      <param name="success" type="boolean"/>
    </method>
    <method name="getVertexStats" return="org.apache.pig.tools.pigstats.tez.TezVertexStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="vertexName" type="java.lang.String"/>
    </method>
    <method name="isEmbedded" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getJobClient" return="org.apache.hadoop.mapred.JobClient"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllStats" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAllErrorMessages" return="java.util.List"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.TezPigScriptStats -->
  <!-- start class org.apache.pig.tools.pigstats.tez.TezScriptState -->
  <class name="TezScriptState" extends="org.apache.pig.tools.pigstats.ScriptState"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezScriptState" type="java.lang.String"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="get" return="org.apache.pig.tools.pigstats.tez.TezScriptState"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="registerListener"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="listener" type="org.apache.pig.tools.pigstats.PigProgressNotificationListener"/>
    </method>
    <method name="dagLaunchNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="dagPlan" type="org.apache.pig.impl.plan.OperatorPlan"/>
      <param name="numVerticesToLaunch" type="int"/>
    </method>
    <method name="dagStartedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="assignedApplicationId" type="java.lang.String"/>
    </method>
    <method name="dagProgressNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="numVerticesCompleted" type="int"/>
      <param name="progress" type="int"/>
    </method>
    <method name="dagCompletedNotification"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="tezDAGStats" type="org.apache.pig.tools.pigstats.tez.TezDAGStats"/>
    </method>
    <method name="addDAGSettingsToConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addVertexSettingsToConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="addWorkflowAdjacenciesToConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlan" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"/>
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="setDAGScriptInfo" return="org.apache.pig.tools.pigstats.tez.TezScriptState.TezDAGScriptInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezPlanNode" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezPlanContainerNode"/>
    </method>
    <method name="getDAGScriptInfo" return="org.apache.pig.tools.pigstats.tez.TezScriptState.TezDAGScriptInfo"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="dagName" type="java.lang.String"/>
    </method>
    <doc>
    <![CDATA[ScriptStates encapsulates settings for a Pig script that runs on a hadoop
 cluster. These settings are added to all Tez jobs spawned by the script and
 in turn are persisted in the hadoop job xml. With the properties already in
 the job xml, users who want to know the relations between the script and Tez
 jobs can derive them from the job xmls.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.TezScriptState -->
  <!-- start class org.apache.pig.tools.pigstats.tez.TezScriptState.TezDAGScriptInfo -->
  <class name="TezScriptState.TezDAGScriptInfo" extends="java.lang.Object"
    abstract="false"
    static="true" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezDAGScriptInfo" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getPigFeatures" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAlias" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="getAliasLocation" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
    <method name="getPigFeatures" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="tezOp" type="org.apache.pig.backend.hadoop.executionengine.tez.plan.TezOperator"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.TezScriptState.TezDAGScriptInfo -->
  <!-- start class org.apache.pig.tools.pigstats.tez.TezVertexStats -->
  <class name="TezVertexStats" extends="org.apache.pig.tools.pigstats.JobStats"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <constructor name="TezVertexStats" type="java.lang.String, org.apache.pig.tools.pigstats.PigStats.JobGraph, boolean"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="getJobId" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accept"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="v" type="org.apache.pig.newplan.PlanVisitor"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <method name="getDisplayString" return="java.lang.String"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="setConf"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="conf" type="org.apache.hadoop.conf.Configuration"/>
    </method>
    <method name="hasLoadOrStore" return="boolean"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="accumulateStats"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="status" type="org.apache.tez.dag.api.client.VertexStatus"/>
      <param name="parallelism" type="int"/>
    </method>
    <method name="getCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getParallelism" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addInputStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="addOutputStatistics"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberMaps" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getNumberReduces" return="int"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgMapTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMaxReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMinReduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getAvgREduceTime" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMapOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceInputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getReduceOutputRecords" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getSMMSpillCount" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountObjects" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getProactiveSpillCountRecs" return="long"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getHadoopCounters" return="org.apache.hadoop.mapred.Counters"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiStoreCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="getMultiInputCounters" return="java.util.Map"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.pigstats.tez.TezVertexStats -->
</package>
<package name="org.apache.pig.tools.streams">
  <!-- start class org.apache.pig.tools.streams.StreamGenerator -->
  <class name="StreamGenerator" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <implements name="java.awt.event.ActionListener"/>
    <constructor name="StreamGenerator"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="actionPerformed"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="event" type="java.awt.event.ActionEvent"/>
    </method>
    <method name="main"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="args" type="java.lang.String[]"/>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.streams.StreamGenerator -->
</package>
<package name="org.apache.pig.tools.timer">
  <!-- start class org.apache.pig.tools.timer.PerformanceTimer -->
  <class name="PerformanceTimer" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="start"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Start the timer.]]>
      </doc>
    </method>
    <method name="stop"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Stop the timer.]]>
      </doc>
    </method>
    <method name="print"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.PrintStream"/>
      <doc>
      <![CDATA[Dump the total time, total number of starts and stops, and average run time of the
 timer to an output stream.
 @param out output stream to write info to.]]>
      </doc>
    </method>
  </class>
  <!-- end class org.apache.pig.tools.timer.PerformanceTimer -->
  <!-- start class org.apache.pig.tools.timer.PerformanceTimerFactory -->
  <class name="PerformanceTimerFactory" extends="java.lang.Object"
    abstract="false"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="getPerfTimerFactory" return="org.apache.pig.tools.timer.PerformanceTimerFactory"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <doc>
      <![CDATA[Get the timer factory.
 @return timer factory.]]>
      </doc>
    </method>
    <method name="getTimer" return="org.apache.pig.tools.timer.PerformanceTimer"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
      <doc>
      <![CDATA[Get a performance timer.  If the indicated timer does not exist, it will be
 created.  If a timer of that name already exists, it will be returned.
 @param name Name of the timer to return.
 @return the timer.]]>
      </doc>
    </method>
    <method name="dumpTimers"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="out" type="java.io.PrintStream"/>
      <doc>
      <![CDATA[Call print on all of the known performance timers.
 @param out output stream to dump to]]>
      </doc>
    </method>
    <method name="dumpTimers"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
  </class>
  <!-- end class org.apache.pig.tools.timer.PerformanceTimerFactory -->
</package>
<package name="org.apache.pig.validator">
  <!-- start class org.apache.pig.validator.BlackAndWhitelistFilter -->
  <class name="BlackAndWhitelistFilter" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.validator.PigCommandFilter"/>
    <constructor name="BlackAndWhitelistFilter" type="org.apache.pig.PigServer"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <constructor name="BlackAndWhitelistFilter" type="org.apache.pig.impl.PigContext"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="command" type="org.apache.pig.validator.PigCommandFilter.Command"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[This Filter handles black and whitelisting of Pig commands.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.validator.BlackAndWhitelistFilter -->
  <!-- start class org.apache.pig.validator.BlackAndWhitelistValidator -->
  <class name="BlackAndWhitelistValidator" extends="java.lang.Object"
    abstract="false"
    static="false" final="true" visibility="public"
    deprecated="not deprecated">
    <implements name="org.apache.pig.newplan.logical.rules.LogicalRelationalNodeValidator"/>
    <constructor name="BlackAndWhitelistValidator" type="org.apache.pig.impl.PigContext, org.apache.pig.newplan.OperatorPlan"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
    </constructor>
    <method name="validate"
      abstract="false" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
    </method>
    <doc>
    <![CDATA[This validator walks through the list of operators defined in {@link PigConfiguration#PIG_BLACKLIST} and
 {@link PigConfiguration#PIG_WHITELIST} and checks whether the operation is permitted. In case these
 properties are not defined (default), we let everything pass as usual.]]>
    </doc>
  </class>
  <!-- end class org.apache.pig.validator.BlackAndWhitelistValidator -->
  <!-- start interface org.apache.pig.validator.PigCommandFilter -->
  <interface name="PigCommandFilter"    abstract="true"
    static="false" final="false" visibility="public"
    deprecated="not deprecated">
    <method name="validate"
      abstract="true" native="false" synchronized="false"
      static="false" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="command" type="org.apache.pig.validator.PigCommandFilter.Command"/>
      <exception name="FrontendException" type="org.apache.pig.impl.logicalLayer.FrontendException"/>
      <doc>
      <![CDATA[Validates a Pig command as defined by {@link Command}.
 
 @param command
 @throws IOException]]>
      </doc>
    </method>
    <doc>
    <![CDATA[Interface defining Pig commands and a
 {@link PigCommandFilter#validate(Command)} method to operate on it]]>
    </doc>
  </interface>
  <!-- end interface org.apache.pig.validator.PigCommandFilter -->
  <!-- start class org.apache.pig.validator.PigCommandFilter.Command -->
  <class name="PigCommandFilter.Command" extends="java.lang.Enum"
    abstract="false"
    static="true" final="true" visibility="public"
    deprecated="not deprecated">
    <method name="values" return="org.apache.pig.validator.PigCommandFilter.Command[]"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
    </method>
    <method name="valueOf" return="org.apache.pig.validator.PigCommandFilter.Command"
      abstract="false" native="false" synchronized="false"
      static="true" final="false" visibility="public"
      deprecated="not deprecated">
      <param name="name" type="java.lang.String"/>
    </method>
    <field name="DEFINE" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DECLARE" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DEFAULT" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="EXPLAIN" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="EXEC" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="FS" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="IMPORT" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="LS" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SH" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MAPREDUCE" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="REGISTER" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="SET" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CAT" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CD" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="DUMP" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="KILL" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="PWD" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MV" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="CP" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COPYTOLOCAL" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="COPYFROMLOCAL" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="MKDIR" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RM" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RMF" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="RUN" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
    <field name="ILLUSTRATE" type="org.apache.pig.validator.PigCommandFilter.Command"
      transient="false" volatile="false"
      static="true" final="true" visibility="public"
      deprecated="not deprecated">
    </field>
  </class>
  <!-- end class org.apache.pig.validator.PigCommandFilter.Command -->
</package>

</api>
