// File generated by hadoop record compiler. Do not edit. package org.wikipedia.miner.db.struct; public class DbLinkLocationList 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("DbLinkLocationList"); _rio_recTypeInfo.addField("LinkLocations", new org.apache.hadoop.record.meta.VectorTypeID(new org.apache.hadoop.record.meta.StructTypeID(org.wikipedia.miner.db.struct.DbLinkLocation.getTypeInfo()))); } private java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation> LinkLocations; public DbLinkLocationList() { } public DbLinkLocationList( final java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation> LinkLocations) { this.LinkLocations = LinkLocations; } 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.DbLinkLocation.setTypeFilter(rti.getNestedStructTypeInfo("DbLinkLocation")); } 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 java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation> getLinkLocations() { return LinkLocations; } public void setLinkLocations(final java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation> LinkLocations) { this.LinkLocations=LinkLocations; } 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.startVector(LinkLocations,"LinkLocations"); int _rio_len1 = LinkLocations.size(); for(int _rio_vidx1 = 0; _rio_vidx1<_rio_len1; _rio_vidx1++) { org.wikipedia.miner.db.struct.DbLinkLocation _rio_e1 = LinkLocations.get(_rio_vidx1); _rio_e1.serialize(_rio_a,"_rio_e1"); } _rio_a.endVector(LinkLocations,"LinkLocations"); } _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); { org.apache.hadoop.record.Index _rio_vidx1 = _rio_a.startVector("LinkLocations"); LinkLocations=new java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation>(); for (; !_rio_vidx1.done(); _rio_vidx1.incr()) { org.wikipedia.miner.db.struct.DbLinkLocation _rio_e1; _rio_e1= new org.wikipedia.miner.db.struct.DbLinkLocation(); _rio_e1.deserialize(_rio_a,"_rio_e1"); LinkLocations.add(_rio_e1); } _rio_a.endVector("LinkLocations"); } _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]) { { org.apache.hadoop.record.Index _rio_vidx1 = _rio_a.startVector("LinkLocations"); LinkLocations=new java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation>(); for (; !_rio_vidx1.done(); _rio_vidx1.incr()) { org.wikipedia.miner.db.struct.DbLinkLocation _rio_e1; _rio_e1= new org.wikipedia.miner.db.struct.DbLinkLocation(); _rio_e1.deserialize(_rio_a,"_rio_e1"); LinkLocations.add(_rio_e1); } _rio_a.endVector("LinkLocations"); } } 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 DbLinkLocationList)) { throw new ClassCastException("Comparing different types of records."); } DbLinkLocationList _rio_peer = (DbLinkLocationList) _rio_peer_; int _rio_ret = 0; { int _rio_len11 = LinkLocations.size(); int _rio_len21 = _rio_peer.LinkLocations.size(); for(int _rio_vidx1 = 0; _rio_vidx1<_rio_len11 && _rio_vidx1<_rio_len21; _rio_vidx1++) { org.wikipedia.miner.db.struct.DbLinkLocation _rio_e11 = LinkLocations.get(_rio_vidx1); org.wikipedia.miner.db.struct.DbLinkLocation _rio_e21 = _rio_peer.LinkLocations.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 DbLinkLocationList)) { return false; } if (_rio_peer_ == this) { return true; } DbLinkLocationList _rio_peer = (DbLinkLocationList) _rio_peer_; boolean _rio_ret = false; _rio_ret = LinkLocations.equals(_rio_peer.LinkLocations); if (!_rio_ret) return _rio_ret; return _rio_ret; } public Object clone() throws CloneNotSupportedException { DbLinkLocationList _rio_other = new DbLinkLocationList(); _rio_other.LinkLocations = (java.util.ArrayList<org.wikipedia.miner.db.struct.DbLinkLocation>) this.LinkLocations.clone(); return _rio_other; } public int hashCode() { int _rio_result = 17; int _rio_ret; _rio_ret = LinkLocations.hashCode(); _rio_result = 37*_rio_result + _rio_ret; return _rio_result; } public static String signature() { return "LDbLinkLocationList([LDbLinkLocation(i[i])])"; } public static class Comparator extends org.apache.hadoop.record.RecordComparator { public Comparator() { super(DbLinkLocationList.class); } static public int slurpRaw(byte[] b, int s, int l) { try { int os = s; { 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.DbLinkLocation.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; { 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.DbLinkLocation.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(DbLinkLocationList.class, new Comparator()); } }