Methods Summary |
---|
public int | getSize()
return sizeOfInstance
+ 1//1 for the tag
+ sizeBytes;
|
public int | getSizeBytes()
return sizeBytes;
|
public int | getSizeOfInstance()
return sizeOfInstance;
|
public int | getTag()
return tag;
|
public final void | parse(int tag, java.nio.ByteBuffer bb)
this.tag = tag;
int i = 0;
int tmp = IsoTypeReader.readUInt8(bb);
i++;
sizeOfInstance = tmp & 0x7f;
while (tmp >>> 7 == 1) { //nextbyte indicator bit
tmp = IsoTypeReader.readUInt8(bb);
i++;
//sizeOfInstance = sizeOfInstance<<7 | sizeByte;
sizeOfInstance = sizeOfInstance << 7 | tmp & 0x7f;
}
sizeBytes = i;
ByteBuffer detailSource = bb.slice();
detailSource.limit(sizeOfInstance);
parseDetail(detailSource);
assert detailSource.remaining() == 0: this.getClass().getSimpleName() + " has not been fully parsed";
bb.position(bb.position() + sizeOfInstance);
|
public abstract void | parseDetail(java.nio.ByteBuffer bb)
|
public java.lang.String | toString()
final StringBuilder sb = new StringBuilder();
sb.append("BaseDescriptor");
sb.append("{tag=").append(tag);
sb.append(", sizeOfInstance=").append(sizeOfInstance);
sb.append('}");
return sb.toString();
|