This commit is contained in:
Redkale
2018-07-21 14:21:50 +08:00
parent 0f2474386c
commit 00a12d8113
8 changed files with 79 additions and 5 deletions

View File

@@ -62,6 +62,10 @@ public class ArrayDecoder<T> implements Decodeable<Reader, T[]> {
@Override
public T[] convertFrom(Reader in) {
return convertFrom(in, null);
}
public T[] convertFrom(Reader in, DeMember member) {
int len = in.readArrayB();
int contentLength = -1;
if (len == Reader.SIGN_NULL) return null;
@@ -85,6 +89,7 @@ public class ArrayDecoder<T> implements Decodeable<Reader, T[]> {
if (len == Reader.SIGN_NOLENGTH) {
int startPosition = in.position();
while (in.hasNext(startPosition, contentLength)) {
readMember(in, member);
result.add(localdecoder.convertFrom(in));
}
} else {
@@ -97,6 +102,9 @@ public class ArrayDecoder<T> implements Decodeable<Reader, T[]> {
return result.toArray(rs);
}
protected void readMember(Reader in, DeMember member) {
}
@Override
public String toString() {
return this.getClass().getSimpleName() + "{componentType:" + this.componentType + ", decoder:" + this.decoder + "}";