ArrayHeader( byte[] data, int startOffset ) { int offset = startOffset; _type = LittleEndian.getInt( data, offset ); offset += LittleEndian.INT_SIZE; long numDimensionsUnsigned = LittleEndian.getUInt( data, offset ); offset += LittleEndian.INT_SIZE; if ( !( 1 <= numDimensionsUnsigned && numDimensionsUnsigned <= 31 ) ) throw new IllegalPropertySetDataException( "Array dimension number " + numDimensionsUnsigned + " is not in [1; 31] range" ); int numDimensions = (int) numDimensionsUnsigned; _dimensions = new ArrayDimension[numDimensions]; for ( int i = 0; i < numDimensions; i++ ) { _dimensions[i] = new ArrayDimension( data, offset ); offset += ArrayDimension.SIZE; } }
void read( LittleEndianByteArrayInputStream lei ) { _type = lei.readInt(); long numDimensionsUnsigned = lei.readUInt(); if ( !( 1 <= numDimensionsUnsigned && numDimensionsUnsigned <= 31 ) ) { String msg = "Array dimension number "+numDimensionsUnsigned+" is not in [1; 31] range"; throw new IllegalPropertySetDataException(msg); } int numDimensions = (int) numDimensionsUnsigned; _dimensions = new ArrayDimension[numDimensions]; for ( int i = 0; i < numDimensions; i++ ) { ArrayDimension ad = new ArrayDimension(); ad.read(lei); _dimensions[i] = ad; } }
ArrayHeader( byte[] data, int startOffset ) { int offset = startOffset; _type = LittleEndian.getInt( data, offset ); offset += LittleEndian.INT_SIZE; long numDimensionsUnsigned = LittleEndian.getUInt( data, offset ); offset += LittleEndian.INT_SIZE; if ( !( 1 <= numDimensionsUnsigned && numDimensionsUnsigned <= 31 ) ) throw new IllegalPropertySetDataException( "Array dimension number " + numDimensionsUnsigned + " is not in [1; 31] range" ); int numDimensions = (int) numDimensionsUnsigned; _dimensions = new ArrayDimension[numDimensions]; for ( int i = 0; i < numDimensions; i++ ) { _dimensions[i] = new ArrayDimension( data, offset ); offset += ArrayDimension.SIZE; } }
void read( LittleEndianByteArrayInputStream lei ) { _type = lei.readInt(); long numDimensionsUnsigned = lei.readUInt(); if ( !( 1 <= numDimensionsUnsigned && numDimensionsUnsigned <= 31 ) ) { String msg = "Array dimension number "+numDimensionsUnsigned+" is not in [1; 31] range"; throw new IllegalPropertySetDataException(msg); } int numDimensions = (int) numDimensionsUnsigned; _dimensions = new ArrayDimension[numDimensions]; for ( int i = 0; i < numDimensions; i++ ) { ArrayDimension ad = new ArrayDimension(); ad.read(lei); _dimensions[i] = ad; } }