// File generated by hadoop record compiler. Do not edit.
package org.wikipedia.miner.db.struct;
public class DbLabel extends org.apache.hadoop.record.Record {
private static final org.apache.hadoop.record.meta.RecordTypeInfo _rio_recTypeInfo;
private static org.apache.hadoop.record.meta.RecordTypeInfo _rio_rtiFilter;
private static int[] _rio_rtiFilterFields;
static {
_rio_recTypeInfo = new org.apache.hadoop.record.meta.RecordTypeInfo("DbLabel");
_rio_recTypeInfo.addField("LinkOccCount", org.apache.hadoop.record.meta.TypeID.LongTypeID);
_rio_recTypeInfo.addField("LinkDocCount", org.apache.hadoop.record.meta.TypeID.LongTypeID);
_rio_recTypeInfo.addField("TextOccCount", org.apache.hadoop.record.meta.TypeID.LongTypeID);
_rio_recTypeInfo.addField("TextDocCount", org.apache.hadoop.record.meta.TypeID.LongTypeID);
_rio_recTypeInfo.addField("Senses", new org.apache.hadoop.record.meta.VectorTypeID(new org.apache.hadoop.record.meta.StructTypeID(org.wikipedia.miner.db.struct.DbSenseForLabel.getTypeInfo())));
}
private long LinkOccCount;
private long LinkDocCount;
private long TextOccCount;
private long TextDocCount;
private java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel> Senses;
public DbLabel() { }
public DbLabel(
final long LinkOccCount,
final long LinkDocCount,
final long TextOccCount,
final long TextDocCount,
final java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel> Senses) {
this.LinkOccCount = LinkOccCount;
this.LinkDocCount = LinkDocCount;
this.TextOccCount = TextOccCount;
this.TextDocCount = TextDocCount;
this.Senses = Senses;
}
public static org.apache.hadoop.record.meta.RecordTypeInfo getTypeInfo() {
return _rio_recTypeInfo;
}
public static void setTypeFilter(org.apache.hadoop.record.meta.RecordTypeInfo rti) {
if (null == rti) return;
_rio_rtiFilter = rti;
_rio_rtiFilterFields = null;
org.wikipedia.miner.db.struct.DbSenseForLabel.setTypeFilter(rti.getNestedStructTypeInfo("DbSenseForLabel"));
}
private static void setupRtiFields()
{
if (null == _rio_rtiFilter) return;
// we may already have done this
if (null != _rio_rtiFilterFields) return;
int _rio_i, _rio_j;
_rio_rtiFilterFields = new int [_rio_rtiFilter.getFieldTypeInfos().size()];
for (_rio_i=0; _rio_i<_rio_rtiFilterFields.length; _rio_i++) {
_rio_rtiFilterFields[_rio_i] = 0;
}
java.util.Iterator<org.apache.hadoop.record.meta.FieldTypeInfo> _rio_itFilter = _rio_rtiFilter.getFieldTypeInfos().iterator();
_rio_i=0;
while (_rio_itFilter.hasNext()) {
org.apache.hadoop.record.meta.FieldTypeInfo _rio_tInfoFilter = _rio_itFilter.next();
java.util.Iterator<org.apache.hadoop.record.meta.FieldTypeInfo> _rio_it = _rio_recTypeInfo.getFieldTypeInfos().iterator();
_rio_j=1;
while (_rio_it.hasNext()) {
org.apache.hadoop.record.meta.FieldTypeInfo _rio_tInfo = _rio_it.next();
if (_rio_tInfo.equals(_rio_tInfoFilter)) {
_rio_rtiFilterFields[_rio_i] = _rio_j;
break;
}
_rio_j++;
}
_rio_i++;
}
}
public long getLinkOccCount() {
return LinkOccCount;
}
public void setLinkOccCount(final long LinkOccCount) {
this.LinkOccCount=LinkOccCount;
}
public long getLinkDocCount() {
return LinkDocCount;
}
public void setLinkDocCount(final long LinkDocCount) {
this.LinkDocCount=LinkDocCount;
}
public long getTextOccCount() {
return TextOccCount;
}
public void setTextOccCount(final long TextOccCount) {
this.TextOccCount=TextOccCount;
}
public long getTextDocCount() {
return TextDocCount;
}
public void setTextDocCount(final long TextDocCount) {
this.TextDocCount=TextDocCount;
}
public java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel> getSenses() {
return Senses;
}
public void setSenses(final java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel> Senses) {
this.Senses=Senses;
}
public void serialize(final org.apache.hadoop.record.RecordOutput _rio_a, final String _rio_tag)
throws java.io.IOException {
_rio_a.startRecord(this,_rio_tag);
_rio_a.writeLong(LinkOccCount,"LinkOccCount");
_rio_a.writeLong(LinkDocCount,"LinkDocCount");
_rio_a.writeLong(TextOccCount,"TextOccCount");
_rio_a.writeLong(TextDocCount,"TextDocCount");
{
_rio_a.startVector(Senses,"Senses");
int _rio_len1 = Senses.size();
for(int _rio_vidx1 = 0; _rio_vidx1<_rio_len1; _rio_vidx1++) {
org.wikipedia.miner.db.struct.DbSenseForLabel _rio_e1 = Senses.get(_rio_vidx1);
_rio_e1.serialize(_rio_a,"_rio_e1");
}
_rio_a.endVector(Senses,"Senses");
}
_rio_a.endRecord(this,_rio_tag);
}
private void deserializeWithoutFilter(final org.apache.hadoop.record.RecordInput _rio_a, final String _rio_tag)
throws java.io.IOException {
_rio_a.startRecord(_rio_tag);
LinkOccCount=_rio_a.readLong("LinkOccCount");
LinkDocCount=_rio_a.readLong("LinkDocCount");
TextOccCount=_rio_a.readLong("TextOccCount");
TextDocCount=_rio_a.readLong("TextDocCount");
{
org.apache.hadoop.record.Index _rio_vidx1 = _rio_a.startVector("Senses");
Senses=new java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel>();
for (; !_rio_vidx1.done(); _rio_vidx1.incr()) {
org.wikipedia.miner.db.struct.DbSenseForLabel _rio_e1;
_rio_e1= new org.wikipedia.miner.db.struct.DbSenseForLabel();
_rio_e1.deserialize(_rio_a,"_rio_e1");
Senses.add(_rio_e1);
}
_rio_a.endVector("Senses");
}
_rio_a.endRecord(_rio_tag);
}
public void deserialize(final org.apache.hadoop.record.RecordInput _rio_a, final String _rio_tag)
throws java.io.IOException {
if (null == _rio_rtiFilter) {
deserializeWithoutFilter(_rio_a, _rio_tag);
return;
}
// if we're here, we need to read based on version info
_rio_a.startRecord(_rio_tag);
setupRtiFields();
for (int _rio_i=0; _rio_i<_rio_rtiFilter.getFieldTypeInfos().size(); _rio_i++) {
if (1 == _rio_rtiFilterFields[_rio_i]) {
LinkOccCount=_rio_a.readLong("LinkOccCount");
}
else if (2 == _rio_rtiFilterFields[_rio_i]) {
LinkDocCount=_rio_a.readLong("LinkDocCount");
}
else if (3 == _rio_rtiFilterFields[_rio_i]) {
TextOccCount=_rio_a.readLong("TextOccCount");
}
else if (4 == _rio_rtiFilterFields[_rio_i]) {
TextDocCount=_rio_a.readLong("TextDocCount");
}
else if (5 == _rio_rtiFilterFields[_rio_i]) {
{
org.apache.hadoop.record.Index _rio_vidx1 = _rio_a.startVector("Senses");
Senses=new java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel>();
for (; !_rio_vidx1.done(); _rio_vidx1.incr()) {
org.wikipedia.miner.db.struct.DbSenseForLabel _rio_e1;
_rio_e1= new org.wikipedia.miner.db.struct.DbSenseForLabel();
_rio_e1.deserialize(_rio_a,"_rio_e1");
Senses.add(_rio_e1);
}
_rio_a.endVector("Senses");
}
}
else {
java.util.ArrayList<org.apache.hadoop.record.meta.FieldTypeInfo> typeInfos = (java.util.ArrayList<org.apache.hadoop.record.meta.FieldTypeInfo>)(_rio_rtiFilter.getFieldTypeInfos());
org.apache.hadoop.record.meta.Utils.skip(_rio_a, typeInfos.get(_rio_i).getFieldID(), typeInfos.get(_rio_i).getTypeID());
}
}
_rio_a.endRecord(_rio_tag);
}
public int compareTo (final Object _rio_peer_) throws ClassCastException {
if (!(_rio_peer_ instanceof DbLabel)) {
throw new ClassCastException("Comparing different types of records.");
}
DbLabel _rio_peer = (DbLabel) _rio_peer_;
int _rio_ret = 0;
_rio_ret = (LinkOccCount == _rio_peer.LinkOccCount)? 0 :((LinkOccCount<_rio_peer.LinkOccCount)?-1:1);
if (_rio_ret != 0) return _rio_ret;
_rio_ret = (LinkDocCount == _rio_peer.LinkDocCount)? 0 :((LinkDocCount<_rio_peer.LinkDocCount)?-1:1);
if (_rio_ret != 0) return _rio_ret;
_rio_ret = (TextOccCount == _rio_peer.TextOccCount)? 0 :((TextOccCount<_rio_peer.TextOccCount)?-1:1);
if (_rio_ret != 0) return _rio_ret;
_rio_ret = (TextDocCount == _rio_peer.TextDocCount)? 0 :((TextDocCount<_rio_peer.TextDocCount)?-1:1);
if (_rio_ret != 0) return _rio_ret;
{
int _rio_len11 = Senses.size();
int _rio_len21 = _rio_peer.Senses.size();
for(int _rio_vidx1 = 0; _rio_vidx1<_rio_len11 && _rio_vidx1<_rio_len21; _rio_vidx1++) {
org.wikipedia.miner.db.struct.DbSenseForLabel _rio_e11 = Senses.get(_rio_vidx1);
org.wikipedia.miner.db.struct.DbSenseForLabel _rio_e21 = _rio_peer.Senses.get(_rio_vidx1);
_rio_ret = _rio_e11.compareTo(_rio_e21);
if (_rio_ret != 0) { return _rio_ret; }
}
_rio_ret = (_rio_len11 - _rio_len21);
}
if (_rio_ret != 0) return _rio_ret;
return _rio_ret;
}
public boolean equals(final Object _rio_peer_) {
if (!(_rio_peer_ instanceof DbLabel)) {
return false;
}
if (_rio_peer_ == this) {
return true;
}
DbLabel _rio_peer = (DbLabel) _rio_peer_;
boolean _rio_ret = false;
_rio_ret = (LinkOccCount==_rio_peer.LinkOccCount);
if (!_rio_ret) return _rio_ret;
_rio_ret = (LinkDocCount==_rio_peer.LinkDocCount);
if (!_rio_ret) return _rio_ret;
_rio_ret = (TextOccCount==_rio_peer.TextOccCount);
if (!_rio_ret) return _rio_ret;
_rio_ret = (TextDocCount==_rio_peer.TextDocCount);
if (!_rio_ret) return _rio_ret;
_rio_ret = Senses.equals(_rio_peer.Senses);
if (!_rio_ret) return _rio_ret;
return _rio_ret;
}
public Object clone() throws CloneNotSupportedException {
DbLabel _rio_other = new DbLabel();
_rio_other.LinkOccCount = this.LinkOccCount;
_rio_other.LinkDocCount = this.LinkDocCount;
_rio_other.TextOccCount = this.TextOccCount;
_rio_other.TextDocCount = this.TextDocCount;
_rio_other.Senses = (java.util.ArrayList<org.wikipedia.miner.db.struct.DbSenseForLabel>) this.Senses.clone();
return _rio_other;
}
public int hashCode() {
int _rio_result = 17;
int _rio_ret;
_rio_ret = (int) (LinkOccCount^(LinkOccCount>>>32));
_rio_result = 37*_rio_result + _rio_ret;
_rio_ret = (int) (LinkDocCount^(LinkDocCount>>>32));
_rio_result = 37*_rio_result + _rio_ret;
_rio_ret = (int) (TextOccCount^(TextOccCount>>>32));
_rio_result = 37*_rio_result + _rio_ret;
_rio_ret = (int) (TextDocCount^(TextDocCount>>>32));
_rio_result = 37*_rio_result + _rio_ret;
_rio_ret = Senses.hashCode();
_rio_result = 37*_rio_result + _rio_ret;
return _rio_result;
}
public static String signature() {
return "LDbLabel(llll[LDbSenseForLabel(illzz)])";
}
public static class Comparator extends org.apache.hadoop.record.RecordComparator {
public Comparator() {
super(DbLabel.class);
}
static public int slurpRaw(byte[] b, int s, int l) {
try {
int os = s;
{
long i = org.apache.hadoop.record.Utils.readVLong(b, s);
int z = org.apache.hadoop.record.Utils.getVIntSize(i);
s+=z; l-=z;
}
{
long i = org.apache.hadoop.record.Utils.readVLong(b, s);
int z = org.apache.hadoop.record.Utils.getVIntSize(i);
s+=z; l-=z;
}
{
long i = org.apache.hadoop.record.Utils.readVLong(b, s);
int z = org.apache.hadoop.record.Utils.getVIntSize(i);
s+=z; l-=z;
}
{
long i = org.apache.hadoop.record.Utils.readVLong(b, s);
int z = org.apache.hadoop.record.Utils.getVIntSize(i);
s+=z; l-=z;
}
{
int vi1 = org.apache.hadoop.record.Utils.readVInt(b, s);
int vz1 = org.apache.hadoop.record.Utils.getVIntSize(vi1);
s+=vz1; l-=vz1;
for (int vidx1 = 0; vidx1 < vi1; vidx1++){
int r = org.wikipedia.miner.db.struct.DbSenseForLabel.Comparator.slurpRaw(b,s,l);
s+=r; l-=r;
}
}
return (os - s);
} catch(java.io.IOException e) {
throw new RuntimeException(e);
}
}
static public int compareRaw(byte[] b1, int s1, int l1,
byte[] b2, int s2, int l2) {
try {
int os1 = s1;
{
long i1 = org.apache.hadoop.record.Utils.readVLong(b1, s1);
long i2 = org.apache.hadoop.record.Utils.readVLong(b2, s2);
if (i1 != i2) {
return ((i1-i2) < 0) ? -1 : 0;
}
int z1 = org.apache.hadoop.record.Utils.getVIntSize(i1);
int z2 = org.apache.hadoop.record.Utils.getVIntSize(i2);
s1+=z1; s2+=z2; l1-=z1; l2-=z2;
}
{
long i1 = org.apache.hadoop.record.Utils.readVLong(b1, s1);
long i2 = org.apache.hadoop.record.Utils.readVLong(b2, s2);
if (i1 != i2) {
return ((i1-i2) < 0) ? -1 : 0;
}
int z1 = org.apache.hadoop.record.Utils.getVIntSize(i1);
int z2 = org.apache.hadoop.record.Utils.getVIntSize(i2);
s1+=z1; s2+=z2; l1-=z1; l2-=z2;
}
{
long i1 = org.apache.hadoop.record.Utils.readVLong(b1, s1);
long i2 = org.apache.hadoop.record.Utils.readVLong(b2, s2);
if (i1 != i2) {
return ((i1-i2) < 0) ? -1 : 0;
}
int z1 = org.apache.hadoop.record.Utils.getVIntSize(i1);
int z2 = org.apache.hadoop.record.Utils.getVIntSize(i2);
s1+=z1; s2+=z2; l1-=z1; l2-=z2;
}
{
long i1 = org.apache.hadoop.record.Utils.readVLong(b1, s1);
long i2 = org.apache.hadoop.record.Utils.readVLong(b2, s2);
if (i1 != i2) {
return ((i1-i2) < 0) ? -1 : 0;
}
int z1 = org.apache.hadoop.record.Utils.getVIntSize(i1);
int z2 = org.apache.hadoop.record.Utils.getVIntSize(i2);
s1+=z1; s2+=z2; l1-=z1; l2-=z2;
}
{
int vi11 = org.apache.hadoop.record.Utils.readVInt(b1, s1);
int vi21 = org.apache.hadoop.record.Utils.readVInt(b2, s2);
int vz11 = org.apache.hadoop.record.Utils.getVIntSize(vi11);
int vz21 = org.apache.hadoop.record.Utils.getVIntSize(vi21);
s1+=vz11; s2+=vz21; l1-=vz11; l2-=vz21;
for (int vidx1 = 0; vidx1 < vi11 && vidx1 < vi21; vidx1++){
int r1 = org.wikipedia.miner.db.struct.DbSenseForLabel.Comparator.compareRaw(b1,s1,l1,b2,s2,l2);
if (r1 <= 0) { return r1; }
s1+=r1; s2+=r1; l1-=r1; l2-=r1;
}
if (vi11 != vi21) { return (vi11<vi21)?-1:0; }
}
return (os1 - s1);
} catch(java.io.IOException e) {
throw new RuntimeException(e);
}
}
public int compare(byte[] b1, int s1, int l1,
byte[] b2, int s2, int l2) {
int ret = compareRaw(b1,s1,l1,b2,s2,l2);
return (ret == -1)? -1 : ((ret==0)? 1 : 0);}
}
static {
org.apache.hadoop.record.RecordComparator.define(DbLabel.class, new Comparator());
}
}