Skip to content

Commit ab1d870

Browse files
committed
fixed JBBPAbstractField, now it is abstract one, added return of types of fields as strings, improved Bin logging for JBBPTextWriter to print and JBBPAbstractField classes, small fixes in JBBPTextWriter, added tests
1 parent caeb41d commit ab1d870

25 files changed

+690
-9
lines changed

src/main/java/com/igormaznitsa/jbbp/model/JBBPAbstractField.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
* The Class is the ancestor for all fields and arrays of fields.
2323
* @since 1.0
2424
*/
25-
public class JBBPAbstractField implements Serializable {
25+
public abstract class JBBPAbstractField implements Serializable {
2626
private static final long serialVersionUID = 8142829902016660630L;
2727

2828
/**
@@ -63,4 +63,12 @@ public String getFieldPath(){
6363
public String getFieldName(){
6464
return this.fieldNameInfo == null ? null : this.fieldNameInfo.getFieldName();
6565
}
66+
67+
/**
68+
* Get the field type in string representation.
69+
*
70+
* @return the string representation of field type, like 'int', 'long', 'bool [123]'
71+
* @since 1.2.0
72+
*/
73+
public abstract String getTypeAsString();
6674
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayBit.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,9 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
107107
}
108108
return result;
109109
}
110+
111+
@Override
112+
public String getTypeAsString() {
113+
return "bit:"+this.bitNumber.getBitNumber()+" ["+this.array.length+']';
114+
}
110115
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayBoolean.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,9 @@ public boolean getAsBool(final int index) {
7777
public Object getValueArrayAsObject(final boolean reverseBits) {
7878
return this.array.clone ();
7979
}
80+
81+
@Override
82+
public String getTypeAsString() {
83+
return "bool " + '[' + this.array.length + ']';
84+
}
8085
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayByte.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,4 +75,9 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
7575
}
7676
return result;
7777
}
78+
79+
@Override
80+
public String getTypeAsString() {
81+
return "byte " + '[' + this.array.length + ']';
82+
}
7883
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayInt.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,8 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
8888
return result;
8989
}
9090

91+
@Override
92+
public String getTypeAsString() {
93+
return "int " + '[' + this.array.length + ']';
94+
}
9195
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayLong.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,9 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
8787
}
8888
return result;
8989
}
90+
91+
@Override
92+
public String getTypeAsString() {
93+
return "long " + '[' + this.array.length + ']';
94+
}
9095
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayShort.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,8 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
8888
return result;
8989
}
9090

91+
@Override
92+
public String getTypeAsString() {
93+
return "short " + '[' + this.array.length + ']';
94+
}
9195
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayStruct.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,9 @@ public boolean getAsBool(final int index) {
7777
public Object getValueArrayAsObject(final boolean reverseBits) {
7878
return this.structs.clone();
7979
}
80+
81+
@Override
82+
public String getTypeAsString() {
83+
return "{} ["+this.structs.length+']';
84+
}
8085
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayUByte.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,4 +71,8 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
7171
return result;
7272
}
7373

74+
@Override
75+
public String getTypeAsString() {
76+
return "ubyte " + '[' + this.array.length + ']';
77+
}
7478
}

src/main/java/com/igormaznitsa/jbbp/model/JBBPFieldArrayUShort.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,9 @@ public Object getValueArrayAsObject(final boolean reverseBits) {
8787
}
8888
return result;
8989
}
90+
91+
@Override
92+
public String getTypeAsString() {
93+
return "ushort " + '[' + this.array.length + ']';
94+
}
9095
}

0 commit comments

Comments
 (0)