io.vertx.core.json.JsonArray.contains()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(141)

本文整理了Java中io.vertx.core.json.JsonArray.contains()方法的一些代码示例,展示了JsonArray.contains()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JsonArray.contains()方法的具体详情如下:
包路径:io.vertx.core.json.JsonArray
类名称:JsonArray
方法名:contains

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();
 });
}

相关文章