@Override public void putInt(int i) { putElement(new IntegerElement(_parent, _current, i)); }
@Override public int size() { if(isElementOfArray()) { final ArrayElement parent = (ArrayElement) parent(); if(parent.constructorType() == ArrayElement.SMALL) { if(-128 <= _value && _value <= 127) { return 1; } else { parent.setConstructorType(ArrayElement.LARGE); return 4; } } else { return 4; } } else { return (-128 <= _value && _value <= 127) ? 2 : 5; } }
return null; return new IntegerElement(element.parent(),element.prev(),i); break; case INT: l = ((IntegerElement)element).getValue().longValue(); break; default:
@Override public int getInt() { if(_current instanceof IntegerElement) { return ((IntegerElement)_current).getValue(); } throw new IllegalStateException("Current value not integer"); }
@Override public int encode(ByteBuffer b) { int size = size(); if(size <= b.remaining()) { switch(size) { case 2: b.put((byte)0x54); case 1: b.put((byte)_value); break; case 5: b.put((byte)0x71); case 4: b.putInt(_value); } return size; } return 0; } }
@Override public int size() { if(isElementOfArray()) { final ArrayElement parent = (ArrayElement) parent(); if(parent.constructorType() == ArrayElement.SMALL) { if(-128 <= _value && _value <= 127) { return 1; } else { parent.setConstructorType(ArrayElement.LARGE); return 4; } } else { return 4; } } else { return (-128 <= _value && _value <= 127) ? 2 : 5; } }
return null; return new IntegerElement(element.parent(),element.prev(),i); break; case INT: l = ((IntegerElement)element).getValue().longValue(); break; default:
@Override public int getInt() { if(_current instanceof IntegerElement) { return ((IntegerElement)_current).getValue(); } throw new IllegalStateException("Current value not integer"); }
@Override public int encode(ByteBuffer b) { int size = size(); if(size <= b.remaining()) { switch(size) { case 2: b.put((byte)0x54); case 1: b.put((byte)_value); break; case 5: b.put((byte)0x71); case 4: b.putInt(_value); } return size; } return 0; } }
@Override public int size() { if(isElementOfArray()) { final ArrayElement parent = (ArrayElement) parent(); if(parent.constructorType() == ArrayElement.SMALL) { if(-128 <= _value && _value <= 127) { return 1; } else { parent.setConstructorType(ArrayElement.LARGE); return 4; } } else { return 4; } } else { return (-128 <= _value && _value <= 127) ? 2 : 5; } }
@Override public int getInt() { if(_current instanceof IntegerElement) { return ((IntegerElement)_current).getValue(); } throw new IllegalStateException("Current value not integer"); }
@Override public void putInt(int i) { putElement(new IntegerElement(_parent, _current, i)); }
@Override public int encode(ByteBuffer b) { int size = size(); if(size <= b.remaining()) { switch(size) { case 2: b.put((byte)0x54); case 1: b.put((byte)_value); break; case 5: b.put((byte)0x71); case 4: b.putInt(_value); } return size; } return 0; } }
@Override public void putInt(int i) { putElement(new IntegerElement(_parent, _current, i)); }