An open API service indexing awesome lists of open source software.

https://github.com/lpogic/brackettree

Język znaczników Brackettree
https://github.com/lpogic/brackettree

data-storage java markup-language

Last synced: 10 months ago
JSON representation

Język znaczników Brackettree

Awesome Lists containing this project

README

          

# brackettree
Interfejs javy dla Nawiasowca - prostego formatu danych.

Implementacja wspiera wbudowany mechanizm serializacji Javy, potrafi zapisać/wczytać funkcje lambda, tablice, rekordy i całe grafy referencji. Pozwala na interpretowanie podstawowych typów danych (int, boolean ...) oraz automatyczną serializację/deserializację prostych obiektów w czytelnej dla ludzi formie (przy pomocy mechanizmów reflekcji). Udostępnia mechanizmy do przechowywania otwartego grafu referencji (przydatne, gdy serializowana jest część stanu programu). Potrafi zastąpić proste bazy danych bez potrzeby konfiguracji i projektowania tabel.

### Notacja BracketTree
```node1[ node2 ]``` ⇦ 'node2' jest potomkiem 'node1'.



```node3[ node4 [] node5 ]``` ⇦ 'node4' i 'node5' są potomkami 'node3'. Symbol '[]' jest niezbędny do oddzielenia 'node4' od 'node5'.


```
nodeA[
nodeB[ nodeC ]
nodeD[]
]
nodeE[ nodeF ]
```
⇧ 'nodeC' jest potomkiem 'nodeB'. 'nodeB' i 'nodeD' są potomkami 'nodeA'. Symbol '[]' po ostatnim potomku jest opcjonalny. 'nodeF' jest potomkiem 'nodeE'.



```| nodeG | [ nodeH ]``` ⇦ 'nodeH' jest potomkiem ' nodeG '. Jeśli wymiar tekstowy nie jest aktywny, początkowe i końcowe białe znaki są usuwane. Wymiar tekstowy jest otwierany przez znak '|'.



```|nodeJ | [ ~~| node|~ |~~ ]``` ⇦ ' node|~ ' jest potomkiem 'nodeJ '. Napis występujący bezpośrednio przed znakiem '|' jest hasłem portalu. Wymiar tekstowy jest zamykany przez hasło portalu poprzedzone znakiem '|'. Dla ' node|~ ' hasłem portalu jest '\~~', dla 'nodeJ ' hasło portalu jest puste.