public static TupleElementReader[] getReadersFor( final ElementReader elementReader, final Class[] classes ) { if( classes == null || classes.length == 0 ) return null; TupleElementReader[] readers = new TupleElementReader[ classes.length ]; for( int i = 0; i < classes.length; i++ ) { TupleElementReader reader = staticTupleTypedElementReaders.get( classes[ i ] ); if( reader != null ) { readers[ i ] = reader; } else { final int index = i; readers[ i ] = stream -> elementReader.read( classes[ index ], stream ); } } return readers; }
@Override public void close() throws IOException { LOG.debug( "closing tuple input stream" ); try { super.close(); } finally { if( elementReader != null ) elementReader.close(); } } }
return readIndexTuple(); else return elementReader.read( type, this );
return readIndexTuple(); else return elementReader.read( type, this );
protected final Object readType( int type ) throws IOException { switch( type ) { case 0: return null; case 1: return readString(); case 2: return readFloat(); case 3: return readDouble(); case 4: return readVInt(); case 5: return readVLong(); case 6: return readBoolean(); case 7: return readShort(); case 8: return readTuple(); case 9: return readTuplePair(); case 10: return readIndexTuple(); default: return elementReader.read( type, this ); } }
protected final Object readType( int type ) throws IOException { switch( type ) { case 0: return null; case 1: return readString(); case 2: return readFloat(); case 3: return readDouble(); case 4: return readVInt(); case 5: return readVLong(); case 6: return readBoolean(); case 7: return readShort(); case 8: return readTuple(); case 9: return readTuplePair(); case 10: return readIndexTuple(); default: return elementReader.read( type, this ); } }
public static TupleElementReader[] getReadersFor( final ElementReader elementReader, final Class[] classes ) { if( classes == null || classes.length == 0 ) return null; TupleElementReader[] readers = new TupleElementReader[ classes.length ]; for( int i = 0; i < classes.length; i++ ) { TupleElementReader reader = staticTupleTypedElementReaders.get( classes[ i ] ); if( reader != null ) { readers[ i ] = reader; } else { final int index = i; readers[ i ] = stream -> elementReader.read( classes[ index ], stream ); } } return readers; }
public Comparator getComparatorFor( int type ) throws IOException { if( type >= 0 && type <= 10 ) return null; return elementReader.getComparatorFor( type, this ); }