public ArrayType(EncoderImpl encoder, final DecoderImpl decoder, BooleanType boolType, ByteType byteType, ShortType shortType, IntegerType intType, LongType longType, FloatType floatType, DoubleType doubleType, CharacterType characterType) { _encoder = encoder; _booleanType = boolType; _byteType = byteType; _shortType = shortType; _integerType = intType; _longType = longType; _floatType = floatType; _doubleType = doubleType; _characterType = characterType; _arrayEncoding = new AllArrayEncoding(encoder, decoder); _shortArrayEncoding = new ShortArrayEncoding(encoder, decoder); encoder.register(Object[].class, this); decoder.register(this); }
public Object readValueArray() { DecoderImpl decoder = getDecoder(); int size = decoder.readRawInt(); int count = decoder.readRawInt(); return decodeArrayAsObject(decoder, count); }
@Override protected void writeEncodedValue(final Object[] val) { TypeEncoding underlyingEncoder; if(_val != val) { _val = val; _underlyingEncoder = underlyingEncoder = calculateEncoder(val, getEncoder()); _size = calculateSize(val, underlyingEncoder); } else { underlyingEncoder = _underlyingEncoder; } getEncoder().writeRaw(val.length); underlyingEncoder.writeConstructor(); for(Object o : val) { underlyingEncoder.writeValue(o); } }
public ArrayType(EncoderImpl encoder, final DecoderImpl decoder, BooleanType boolType, ByteType byteType, ShortType shortType, IntegerType intType, LongType longType, FloatType floatType, DoubleType doubleType, CharacterType characterType) { _encoder = encoder; _booleanType = boolType; _byteType = byteType; _shortType = shortType; _integerType = intType; _longType = longType; _floatType = floatType; _doubleType = doubleType; _characterType = characterType; _arrayEncoding = new AllArrayEncoding(encoder, decoder); _shortArrayEncoding = new ShortArrayEncoding(encoder, decoder); encoder.register(Object[].class, this); decoder.register(this); }
public ArrayType(EncoderImpl encoder, final DecoderImpl decoder, BooleanType boolType, ByteType byteType, ShortType shortType, IntegerType intType, LongType longType, FloatType floatType, DoubleType doubleType, CharacterType characterType) { _encoder = encoder; _booleanType = boolType; _byteType = byteType; _shortType = shortType; _integerType = intType; _longType = longType; _floatType = floatType; _doubleType = doubleType; _characterType = characterType; _arrayEncoding = new AllArrayEncoding(encoder, decoder); _shortArrayEncoding = new ShortArrayEncoding(encoder, decoder); encoder.register(Object[].class, this); decoder.register(this); }
public ArrayType(EncoderImpl encoder, final DecoderImpl decoder, BooleanType boolType, ByteType byteType, ShortType shortType, IntegerType intType, LongType longType, FloatType floatType, DoubleType doubleType, CharacterType characterType) { _encoder = encoder; _booleanType = boolType; _byteType = byteType; _shortType = shortType; _integerType = intType; _longType = longType; _floatType = floatType; _doubleType = doubleType; _characterType = characterType; _arrayEncoding = new AllArrayEncoding(encoder, decoder); _shortArrayEncoding = new ShortArrayEncoding(encoder, decoder); encoder.register(Object[].class, this); decoder.register(this); }
@Override protected void writeEncodedValue(final Object[] val) { TypeEncoding underlyingEncoder; if(_val != val) { _val = val; _underlyingEncoder = underlyingEncoder = calculateEncoder(val, getEncoder()); _size = calculateSize(val, underlyingEncoder); } else { underlyingEncoder = _underlyingEncoder; } getEncoder().writeRaw(val.length); underlyingEncoder.writeConstructor(); for(Object o : val) { underlyingEncoder.writeValue(o); } }
@Override protected void writeEncodedValue(final Object[] val) { TypeEncoding underlyingEncoder; if(_val != val) { _val = val; _underlyingEncoder = underlyingEncoder = calculateEncoder(val, getEncoder()); _size = calculateSize(val, underlyingEncoder); } else { underlyingEncoder = _underlyingEncoder; } getEncoder().writeRaw(val.length); underlyingEncoder.writeConstructor(); for(Object o : val) { underlyingEncoder.writeValue(o); } }
@Override protected void writeEncodedValue(final Object[] val) { TypeEncoding underlyingEncoder; if(_val != val) { _val = val; _underlyingEncoder = underlyingEncoder = calculateEncoder(val, getEncoder()); _size = calculateSize(val, underlyingEncoder); } else { underlyingEncoder = _underlyingEncoder; } getEncoder().writeRaw(val.length); underlyingEncoder.writeConstructor(); for(Object o : val) { underlyingEncoder.writeValue(o); } }
@Override public void writeValue(final long[] a) { LongType.LongEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(long b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final byte[] a) { ByteType.ByteEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(byte b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final short[] a) { ShortType.ShortEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(short b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final boolean[] a) { BooleanType.BooleanEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(boolean b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final float[] a) { FloatType.FloatEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(float b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final double[] a) { DoubleType.DoubleEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(double b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final int[] a) { IntegerType.IntegerEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(int b : a) { underlyingEncoder.writeValue(b); } }
@Override public void writeValue(final char[] a) { CharacterType.CharacterEncoding underlyingEncoder = getUnderlyingEncoding(a); int encodedValueSize = 4 + underlyingEncoder.getConstructorSize() + a.length * underlyingEncoder.getValueSize(null); getEncoder().getBuffer().ensureRemaining(encodedValueSize); getEncoder().writeRaw(encodedValueSize); getEncoder().writeRaw(a.length); underlyingEncoder.writeConstructor(); for(char b : a) { underlyingEncoder.writeValue(b); } }
public boolean encodesSuperset(final TypeEncoding<Object[]> encoding) { return getType() == encoding.getType(); }
public boolean encodesSuperset(final TypeEncoding<Object[]> encoding) { return getType() == encoding.getType(); }
public boolean encodesSuperset(final TypeEncoding<Object[]> encoding) { return getType() == encoding.getType(); }