Skip to content

Commit 935734d

Browse files
committed
Added a few more helpers to AbstractObject
1 parent ff8e5ec commit 935734d

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

src/main/java/org/javawebstack/abstractdata/AbstractObject.java

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,30 @@ public boolean has(String key) {
9898
return entries.containsKey(key);
9999
}
100100

101+
public boolean hasString(String key) {
102+
return has(key) && get(key).isString();
103+
}
104+
105+
public boolean hasNumber(String key) {
106+
return has(key) && get(key).isNumber();
107+
}
108+
109+
public boolean hasBoolean(String key) {
110+
return has(key) && get(key).isBoolean();
111+
}
112+
113+
public boolean hasPrimitive(String key) {
114+
return has(key) && get(key).isPrimitive();
115+
}
116+
117+
public boolean hasObject(String key) {
118+
return has(key) && get(key).isObject();
119+
}
120+
121+
public boolean hasArray(String key) {
122+
return has(key) && get(key).isArray();
123+
}
124+
101125
public int size() {
102126
return entries.size();
103127
}
@@ -113,47 +137,47 @@ public AbstractArray array() {
113137
}
114138

115139
public AbstractObject object(String key) {
116-
return query(key).object();
140+
return query(key, AbstractNull.INSTANCE).object();
117141
}
118142

119143
public AbstractObject object(String key, AbstractObject orElse) {
120144
return query(key, orElse).object();
121145
}
122146

123147
public AbstractArray array(String key) {
124-
return query(key).array();
148+
return query(key, AbstractNull.INSTANCE).array();
125149
}
126150

127151
public AbstractArray array(String key, AbstractArray orElse) {
128152
return query(key, orElse).array();
129153
}
130154

131155
public AbstractPrimitive primitive(String key) {
132-
return query(key).primitive();
156+
return query(key, AbstractNull.INSTANCE).primitive();
133157
}
134158

135159
public AbstractPrimitive primitive(String key, AbstractPrimitive orElse) {
136160
return query(key, orElse).primitive();
137161
}
138162

139163
public String string(String key) {
140-
return query(key).string();
164+
return query(key, AbstractNull.INSTANCE).string();
141165
}
142166

143167
public String string(String key, String orElse) {
144168
return query(key, new AbstractPrimitive(orElse)).string();
145169
}
146170

147171
public Boolean bool(String key) {
148-
return query(key).bool();
172+
return query(key, AbstractNull.INSTANCE).bool();
149173
}
150174

151175
public Boolean bool(String key, Boolean orElse) {
152176
return query(key, new AbstractPrimitive(orElse)).bool();
153177
}
154178

155179
public Number number(String key) {
156-
return query(key).number();
180+
return query(key, AbstractNull.INSTANCE).number();
157181
}
158182

159183
public Number number(String key, Number orElse) {

0 commit comments

Comments
 (0)