File tree Expand file tree Collapse file tree 11 files changed +206
-0
lines changed
src/main/java/com/relogiclabs/jschema/type Expand file tree Collapse file tree 11 files changed +206
-0
lines changed Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ import java .util .List ;
4+
5+ public interface EArray extends EValue {
6+ EValue get (int index );
7+ List <? extends EValue > elements ();
8+
9+ default int size () {
10+ return elements ().size ();
11+ }
12+
13+ @ Override
14+ default EType getType () {
15+ return EType .ARRAY ;
16+ }
17+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface EBoolean extends EValue {
4+ boolean getValue ();
5+
6+ @ Override
7+ default boolean toBoolean () {
8+ return getValue ();
9+ }
10+
11+ @ Override
12+ default EType getType () {
13+ return EType .BOOLEAN ;
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface EDouble extends ENumber {
4+ double getValue ();
5+
6+ @ Override
7+ default double toDouble () {
8+ return getValue ();
9+ }
10+
11+ @ Override
12+ default EType getType () {
13+ return EType .DOUBLE ;
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface EInteger extends ENumber {
4+ long getValue ();
5+
6+ @ Override
7+ default double toDouble () {
8+ return getValue ();
9+ }
10+
11+ @ Override
12+ default EType getType () {
13+ return EType .INTEGER ;
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface ENull extends EValue {
4+ String STRING = "null" ;
5+ ENull NULL = new ENull () {
6+ @ Override
7+ public String toString () {
8+ return STRING ;
9+ }
10+ };
11+
12+ @ Override
13+ default EType getType () {
14+ return EType .NULL ;
15+ }
16+
17+ @ Override
18+ default boolean toBoolean () {
19+ return false ;
20+ }
21+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface ENumber extends EValue {
4+ double toDouble ();
5+
6+ @ Override
7+ default EType getType () {
8+ return EType .NUMBER ;
9+ }
10+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ import java .util .Set ;
4+
5+ public interface EObject extends EValue {
6+ EValue get (String key );
7+ int size ();
8+ Set <String > keySet ();
9+
10+ @ Override
11+ default EType getType () {
12+ return EType .OBJECT ;
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface EString extends EValue {
4+ String getValue ();
5+
6+ default int length () {
7+ return getValue ().length ();
8+ }
9+
10+ @ Override
11+ default EType getType () {
12+ return EType .STRING ;
13+ }
14+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ import lombok .Getter ;
4+
5+ @ Getter
6+ public enum EType {
7+ NUMBER ("#number" ),
8+ INTEGER ("#integer" ),
9+ FLOAT ("#float" ),
10+ DOUBLE ("#double" ),
11+ STRING ("#string" ),
12+ ARRAY ("#array" ),
13+ RANGE ("#range" ),
14+ OBJECT ("#object" ),
15+ BOOLEAN ("#boolean" ),
16+ DATETIME ("#datetime" ),
17+ DATE ("#date" ),
18+ TIME ("#time" ),
19+ PRIMITIVE ("#primitive" ),
20+ COMPOSITE ("#composite" ),
21+ ANY ("#any" ),
22+ NULL ("#null" ),
23+ UNDEFINED ("#undefined" ),
24+ VOID ("#void" );
25+
26+ private final String name ;
27+
28+ EType (String name ) {
29+ this .name = name ;
30+ }
31+
32+ @ Override
33+ public String toString () {
34+ return name ;
35+ }
36+ }
Original file line number Diff line number Diff line change 1+ package com .relogiclabs .jschema .type ;
2+
3+ public interface EUndefined extends EValue {
4+ String STRING = "undefined" ;
5+ EUndefined UNDEFINED = new EUndefined () {
6+ @ Override
7+ public String toString () {
8+ return STRING ;
9+ }
10+ };
11+
12+ @ Override
13+ default EType getType () {
14+ return EType .UNDEFINED ;
15+ }
16+
17+ @ Override
18+ default boolean toBoolean () {
19+ return false ;
20+ }
21+ }
You can’t perform that action at this time.
0 commit comments