// 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()); } }