本文整理了Java中io.vertx.core.json.JsonArray.contains()
方法的一些代码示例,展示了JsonArray.contains()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonArray.contains()
方法的具体详情如下:
包路径:io.vertx.core.json.JsonArray
类名称:JsonArray
方法名:contains
[英]Does the JSON array contain the specified value? This method will scan the entire array until it finds a value or reaches the end.
[中]JSON数组是否包含指定的值?此方法将扫描整个数组,直到找到值或到达末尾。
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testContains() {
jsonArray.add("wibble");
jsonArray.add(true);
jsonArray.add(123);
JsonObject obj = new JsonObject();
JsonArray arr = new JsonArray();
jsonArray.add(obj);
jsonArray.add(arr);
assertFalse(jsonArray.contains("eek"));
assertFalse(jsonArray.contains(false));
assertFalse(jsonArray.contains(321));
assertFalse(jsonArray.contains(new JsonObject().put("blah", "flib")));
assertFalse(jsonArray.contains(new JsonArray().add("oob")));
assertTrue(jsonArray.contains("wibble"));
assertTrue(jsonArray.contains(true));
assertTrue(jsonArray.contains(123));
assertTrue(jsonArray.contains(obj));
assertTrue(jsonArray.contains(arr));
}
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testGetList() {
JsonObject obj = new JsonObject().put("quux", "wibble");
jsonArray.add("foo").add(123).add(obj);
List<Object> list = jsonArray.getList();
list.remove("foo");
assertFalse(jsonArray.contains("foo"));
list.add("floob");
assertTrue(jsonArray.contains("floob"));
assertSame(obj, list.get(1));
obj.remove("quux");
}
代码示例来源:origin: eclipse-vertx/vert.x
@Test
public void testIterator() {
jsonArray.add("foo");
jsonArray.add(123);
JsonObject obj = new JsonObject().put("foo", "bar");
jsonArray.add(obj);
Iterator<Object> iter = jsonArray.iterator();
assertTrue(iter.hasNext());
Object entry = iter.next();
assertEquals("foo", entry);
assertTrue(iter.hasNext());
entry = iter.next();
assertEquals(123, entry);
assertTrue(iter.hasNext());
entry = iter.next();
assertEquals(obj, entry);
assertFalse(iter.hasNext());
iter.remove();
assertFalse(jsonArray.contains(obj));
assertEquals(2, jsonArray.size());
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testContains() {
jsonArray.add("wibble");
jsonArray.add(true);
jsonArray.add(123);
JsonObject obj = new JsonObject();
JsonArray arr = new JsonArray();
jsonArray.add(obj);
jsonArray.add(arr);
assertFalse(jsonArray.contains("eek"));
assertFalse(jsonArray.contains(false));
assertFalse(jsonArray.contains(321));
assertFalse(jsonArray.contains(new JsonObject().put("blah", "flib")));
assertFalse(jsonArray.contains(new JsonArray().add("oob")));
assertTrue(jsonArray.contains("wibble"));
assertTrue(jsonArray.contains(true));
assertTrue(jsonArray.contains(123));
assertTrue(jsonArray.contains(obj));
assertTrue(jsonArray.contains(arr));
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testGetList() {
JsonObject obj = new JsonObject().put("quux", "wibble");
jsonArray.add("foo").add(123).add(obj);
List<Object> list = jsonArray.getList();
list.remove("foo");
assertFalse(jsonArray.contains("foo"));
list.add("floob");
assertTrue(jsonArray.contains("floob"));
assertSame(obj, list.get(1));
obj.remove("quux");
}
代码示例来源:origin: io.vertx/vertx-core
@Test
public void testIterator() {
jsonArray.add("foo");
jsonArray.add(123);
JsonObject obj = new JsonObject().put("foo", "bar");
jsonArray.add(obj);
Iterator<Object> iter = jsonArray.iterator();
assertTrue(iter.hasNext());
Object entry = iter.next();
assertEquals("foo", entry);
assertTrue(iter.hasNext());
entry = iter.next();
assertEquals(123, entry);
assertTrue(iter.hasNext());
entry = iter.next();
assertEquals(obj, entry);
assertFalse(iter.hasNext());
iter.remove();
assertFalse(jsonArray.contains(obj));
assertEquals(2, jsonArray.size());
}
代码示例来源:origin: vert-x3/vertx-web
assertNotNull(headers);
assertEquals("headbar", headers.getString("headfoo"));
assertTrue(headers.getJsonArray("explode").contains("m1"));
assertTrue(headers.getJsonArray("explode").contains("m2"));
ws.closeHandler(v -> latch.countDown());
ws.close();
代码示例来源:origin: pmlopes/yoke
public Resource produces(String... mimes) {
produces = new JsonArray();
for (String mime : mimes) {
if (!produces.contains(mime)) {
produces.add(mime);
}
}
return this;
}
代码示例来源:origin: pmlopes/yoke
public Resource consumes(String... mimes) {
consumes = new JsonArray();
for (String mime : mimes) {
if (!consumes.contains(mime)) {
consumes.add(mime);
}
}
return this;
}
代码示例来源:origin: eclipse/hono
private boolean hasAuthority(final JsonObject user, final String role) {
return user.getJsonArray(FIELD_AUTHORITIES, new JsonArray()).contains(role);
}
代码示例来源:origin: io.vertx/vertx-auth-mongo
/**
* check wether the current user has the given role
*
* @param role
* the role to be checked
* @param resultHandler
* resultHandler gets true, if role is valid, otherwise false
*/
protected void doHasRole(String role, Handler<AsyncResult<Boolean>> resultHandler) {
try {
JsonArray roles = principal.getJsonArray(mongoAuth.getRoleField());
resultHandler.handle(Future.succeededFuture(roles != null && roles.contains(role)));
} catch (Throwable e) {
resultHandler.handle(Future.failedFuture(e));
}
}
代码示例来源:origin: io.vertx/vertx-auth-mongo
/**
* Check wether the current user has the given permission
*
* @param permission
* the permission to be checked
* @param resultHandler
* resulthandler gets true, if permission is valid, otherwise false
*
*/
protected void doHasPermission(String permission, Handler<AsyncResult<Boolean>> resultHandler) {
try {
JsonArray userPermissions = principal.getJsonArray(mongoAuth.getPermissionField());
resultHandler.handle(Future.succeededFuture(userPermissions != null && userPermissions.contains(permission)));
} catch (Throwable e) {
resultHandler.handle(Future.failedFuture(e));
}
}
代码示例来源:origin: org.swisspush/gateleen-validation
private void validateRecursively(JsonObject data, String[] newSegments, String base, Buffer jsonBuffer, String path, String type, Logger log, Handler<ValidationResult> callback) {
String newBase = base;
String baseWithoutTrailingSlash = base.replaceFirst("/$", "");
String arrayName = baseWithoutTrailingSlash.substring(baseWithoutTrailingSlash.lastIndexOf('/')+1);
JsonArray array = data.getJsonArray(arrayName);
if(array != null && array.size() > 0) {
if(array.contains(newSegments[0]+"/") || array.contains(newSegments[0])) {
newBase = newBase + newSegments[0]+ ( newSegments.length > 1 ? "/" : "");
doValidate(jsonBuffer, path, newBase, type, Arrays.copyOfRange(newSegments, 1, newSegments.length), log, callback);
} else if(array.contains("_/") || array.contains("_")) {
newBase = newBase + newSegments[0]+"/";
doValidate(jsonBuffer, path, newBase, type, Arrays.copyOfRange(newSegments, 1, newSegments.length), log, callback);
} else {
String message = "No schema for "+path+" ("+type+") [2]";
log.warn(message);
callback.handle(new ValidationResult(ValidationStatus.VALIDATED_NEGATIV, message));
}
} else {
String message = "No schema for "+path+" ("+type+") [3]";
log.warn(message);
callback.handle(new ValidationResult(ValidationStatus.VALIDATED_NEGATIV, message));
}
}
代码示例来源:origin: io.vertx/vertx-auth-oauth2
/**
* Factory method to create a RBAC handler for tokens adhering to the MP-JWT 1.1 spec.
* @return a RBAC validator
*/
static OAuth2RBAC create() {
return (user, authority, handler) -> {
JsonObject accessToken = user.accessToken();
if (accessToken == null) {
handler.handle(Future.failedFuture("AccessToken is not a valid JWT"));
return;
}
// the spec MP-JWT 1.1 defines a custom grant called "groups"
final JsonArray groups = accessToken.getJsonArray("groups");
// This MP-JWT custom claim is the list of group names that have been assigned to the principal of the MP-JWT.
// This typically will required a mapping at the application container level to application deployment roles,
// but a a one-to-one between group names and application role names is required to be performed in addition
// to any other mapping.
if (groups == null || groups.size() == 0) {
handler.handle(Future.succeededFuture(false));
return;
}
// verify if the groups claim contains the required authority
handler.handle(Future.succeededFuture(groups.contains(authority)));
};
}
}
代码示例来源:origin: io.vertx/vertx-auth-oauth2
/**
* Determine if this token has an associated specific realm-level role.
* <p>
* Even if `clientId` is not set, this method may be used to explicitly test
* roles for the realm.
*
* @param roleName The name of the role within that application to test.
* @return `true` if this token has the specified role, otherwise `false`.
*/
private boolean hasRealmRole(JsonObject accessToken, String roleName) {
if (accessToken == null) {
return false;
}
return accessToken
.getJsonObject("realm_access", EMPTY_JSON)
.getJsonArray("roles", EMPTY_ARRAY)
.contains(roleName);
}
}
代码示例来源:origin: io.vertx/vertx-auth-oauth2
/**
* Determine if this token has an associated specific application role.
* <p>
* Even if `clientId` is not set, this method may be used to explicitly test
* roles for any given application.
*
* @param appName The identifier of the application to test.
* @param roleName The name of the role within that application to test.
* @return `true` if this token has the specified role, otherwise `false`.
*/
private boolean hasApplicationRole(JsonObject accessToken, String appName, String roleName) {
if (accessToken == null) {
return false;
}
JsonObject appRoles = accessToken
.getJsonObject("resource_access", EMPTY_JSON)
.getJsonObject(appName);
if (appRoles == null) {
return false;
}
return appRoles
.getJsonArray("roles", EMPTY_ARRAY)
.contains(roleName);
}
代码示例来源:origin: io.vertx/vertx-config
public static void check(JsonObject json) {
assertThat(json).isNotNull();
assertThat(json.getString("key")).isEqualTo("value");
assertThat(json.getBoolean("true")).isTrue();
assertThat(json.getBoolean("false")).isFalse();
assertThat(json.getString("missing")).isNull();
assertThat(json.getInteger("int")).isEqualTo(5);
assertThat(json.getDouble("float")).isEqualTo(25.3);
assertThat(json.getJsonArray("array").size()).isEqualTo(3);
assertThat(json.getJsonArray("array").contains(1)).isTrue();
assertThat(json.getJsonArray("array").contains(2)).isTrue();
assertThat(json.getJsonArray("array").contains(3)).isTrue();
assertThat(json.getJsonObject("sub").getString("foo")).isEqualTo("bar");
}
代码示例来源:origin: vert-x3/vertx-config
public static void check(JsonObject json) {
assertThat(json).isNotNull();
assertThat(json.getString("key")).isEqualTo("value");
assertThat(json.getBoolean("true")).isTrue();
assertThat(json.getBoolean("false")).isFalse();
assertThat(json.getString("missing")).isNull();
assertThat(json.getInteger("int")).isEqualTo(5);
assertThat(json.getDouble("float")).isEqualTo(25.3);
assertThat(json.getJsonArray("array").size()).isEqualTo(3);
assertThat(json.getJsonArray("array").contains(1)).isTrue();
assertThat(json.getJsonArray("array").contains(2)).isTrue();
assertThat(json.getJsonArray("array").contains(3)).isTrue();
assertThat(json.getJsonObject("sub").getString("foo")).isEqualTo("bar");
}
代码示例来源:origin: io.vertx/vertx-config-hocon
@Test
public void testSimpleJsonConfiguration(TestContext tc) {
Async async = tc.async();
retriever = ConfigRetriever.create(vertx,
new ConfigRetrieverOptions().addStore(
new ConfigStoreOptions()
.setType("file")
.setFormat("hocon")
.setConfig(new JsonObject().put("path", "src/test/resources/regular.json"))));
retriever.getConfig(ar -> {
assertThat(ar.succeeded()).isTrue();
JsonObject json = ar.result();
assertThat(json.getString("key")).isEqualTo("value");
assertThat(json.getBoolean("true")).isTrue();
assertThat(json.getBoolean("false")).isFalse();
assertThat(json.getString("missing")).isNull();
assertThat(json.getInteger("int")).isEqualTo(5);
assertThat(json.getDouble("float")).isEqualTo(25.3);
assertThat(json.getJsonArray("array").size()).isEqualTo(3);
assertThat(json.getJsonArray("array").contains(1)).isTrue();
assertThat(json.getJsonArray("array").contains(2)).isTrue();
assertThat(json.getJsonArray("array").contains(3)).isTrue();
assertThat(json.getJsonObject("sub").getString("foo")).isEqualTo("bar");
async.complete();
});
}
代码示例来源:origin: vert-x3/vertx-config
@Test
public void testSimpleJsonConfiguration(TestContext tc) {
Async async = tc.async();
retriever = ConfigRetriever.create(vertx,
new ConfigRetrieverOptions().addStore(
new ConfigStoreOptions()
.setType("file")
.setFormat("hocon")
.setConfig(new JsonObject().put("path", "src/test/resources/regular.json"))));
retriever.getConfig(ar -> {
assertThat(ar.succeeded()).isTrue();
JsonObject json = ar.result();
assertThat(json.getString("key")).isEqualTo("value");
assertThat(json.getBoolean("true")).isTrue();
assertThat(json.getBoolean("false")).isFalse();
assertThat(json.getString("missing")).isNull();
assertThat(json.getInteger("int")).isEqualTo(5);
assertThat(json.getDouble("float")).isEqualTo(25.3);
assertThat(json.getJsonArray("array").size()).isEqualTo(3);
assertThat(json.getJsonArray("array").contains(1)).isTrue();
assertThat(json.getJsonArray("array").contains(2)).isTrue();
assertThat(json.getJsonArray("array").contains(3)).isTrue();
assertThat(json.getJsonObject("sub").getString("foo")).isEqualTo("bar");
async.complete();
});
}
内容来源于网络,如有侵权,请联系作者删除!