Skip to content

Commit 39a1cbd

Browse files
committed
added logo and use case diagram replaced by mind map
1 parent 5a256b4 commit 39a1cbd

File tree

6 files changed

+138
-1
lines changed

6 files changed

+138
-1
lines changed

.projectKnowledge/JBBP.mmd

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
Mind Map generated by NB MindMap plugin
2+
> __version__=`1.0`,showJumps=`true`
3+
---
4+
5+
# Java Binary<br/>Block Parser
6+
7+
## License
8+
> fillColor=`#33CC00`,leftSide=`true`
9+
10+
11+
### Apache License 2\.0
12+
> fillColor=`#99FF00`
13+
14+
15+
## Compatibility
16+
> fillColor=`#CCCCFF`,leftSide=`true`
17+
18+
19+
### Java 5\+
20+
> fillColor=`#3399FF`,textColor=`#FFFFCC`
21+
22+
23+
### Android 2\.0\+
24+
> fillColor=`#3399FF`,textColor=`#FFFFCC`
25+
26+
27+
## does\.\.\.
28+
29+
### have small size <br/>and no dependencies
30+
> fillColor=`#33FF66`
31+
32+
33+
### have strong <br/>embedded DSL with\.\.\.
34+
> fillColor=`#CCCCFF`
35+
36+
- TOPIC
37+
<pre>1528DC7A000A</pre>
38+
39+
#### signed and<br/>unsigned data types
40+
> fillColor=`#CCCCFF`
41+
42+
43+
#### custom processing of<br/>non\-standard data types
44+
> fillColor=`#CCCCFF`
45+
46+
47+
#### arrays and<br/>structures
48+
> fillColor=`#CCCCFF`
49+
50+
51+
#### expressions and another field value<br/>as data length
52+
> fillColor=`#CCCCFF`
53+
54+
55+
#### aligning and skipping data
56+
> fillColor=`#CCCCFF`
57+
58+
59+
### have support for \.\.\.
60+
> fillColor=`#FFCCCC`
61+
62+
63+
#### all bit orders
64+
> fillColor=`#FFCCCC`
65+
66+
- FILE
67+
<pre>src/main/java/com/igormaznitsa/jbbp/io/JBBPBitOrder.java</pre>
68+
69+
#### all byte orders
70+
> fillColor=`#FFCCCC`
71+
72+
- FILE
73+
<pre>src/main/java/com/igormaznitsa/jbbp/io/JBBPByteOrder.java</pre>
74+
75+
### have annotation to\.\.
76+
> fillColor=`#CCFFCC`
77+
78+
- FILE
79+
<pre>src/main/java/com/igormaznitsa/jbbp/mapper/Bin.java</pre>
80+
81+
#### map parsed data to class fields
82+
> fillColor=`#CCFFCC`
83+
84+
85+
#### serialize field data into stream
86+
> fillColor=`#CCFFCC`
87+
88+
89+
### can make text representation<br/>of parsed data
90+
> fillColor=`#FFFFCC`
91+
92+
93+
## Main parts
94+
> fillColor=`#00FFFF`,leftSide=`true`
95+
96+
97+
### Streams
98+
> fillColor=`#FF99FF`
99+
100+
101+
#### JBBPBitInputStream
102+
> fillColor=`#FF99FF`
103+
104+
105+
#### JBBPBitOutputStream
106+
> fillColor=`#FF99FF`,leftSide=`true`
107+
108+
- FILE
109+
<pre>src/main/java/com/igormaznitsa/jbbp/io/JBBPBitOutputStream.java</pre>
110+
111+
### DSL
112+
> fillColor=`#66FF00`,topicLinkUID=`1528DC7A000A`,leftSide=`true`
113+
114+
115+
#### JBBPParser
116+
> fillColor=`#66FF00`
117+
118+
- FILE
119+
<pre>src/main/java/com/igormaznitsa/jbbp/JBBPParser.java</pre>
120+
121+
### Write binary<br/>data
122+
> fillColor=`#00CCCC`,leftSide=`true`
123+
124+
125+
#### JBBPOut
126+
> fillColor=`#00CCCC`
127+
128+
129+
### Convert To Text
130+
> fillColor=`#FFFFCC`,leftSide=`true`
131+
132+
133+
#### JBBPTextWriter
134+
> fillColor=`#FFFFCC`
135+
136+
- FILE
137+
<pre>src/main/java/com/igormaznitsa/jbbp/utils/JBBPTextWriter.java</pre>

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Introduction
66
Sometime it is very important to parse in Java some binary block data, may be not in very fast way but structures can have complex format and byte and bit orders can be very different. In Python we have [the Struct package](https://docs.python.org/2/library/struct.html) for operations to parse binary blocks but in Java such operations look a bit verbose and take some time to be programmed, so that I decided during my vacation to develop a framework which would decrease verbosity for such operations in Java and will decrease my work in future because I am too lazy to write a lot of code.<br>
77
p.s.<br>
88
For instance I have been very actively using the framework in [the ZX-Poly emulator](https://github.com/raydac/zxpoly) to parse snapshot files and save results.
9-
![Use cases](https://github.com/raydac/java-binary-block-parser/blob/master/docs/jbbp_usecases.png)
9+
![Use cases](https://github.com/raydac/java-binary-block-parser/blob/master/docs/jbbp_mm.png)
1010
License
1111
========
1212
The Framework is under [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0).

docs/jbbp.dia

-3.56 KB
Binary file not shown.

docs/jbbp_mm.png

61 KB
Loading

docs/jbbp_usecases.png

-91.6 KB
Binary file not shown.

logo.png

-32.8 KB
Loading

0 commit comments

Comments
 (0)