org.opengis.filter.Filter.evaluate()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(9.0k)|赞(0)|评价(0)|浏览(259)

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

Filter.evaluate介绍

[英]Give an object, this method determines if the test(s) represented by this filter object are passed.

This ability is used to allow Queries against both Features and and non spatial data (such as Record) and to express constraints on permissable data values.
[中]给定一个对象,此方法确定此筛选器对象表示的测试是否通过。
此功能用于允许对要素和非空间数据(如记录)进行查询,并表示对允许的数据值的约束。

代码示例

代码示例来源:origin: geoserver/geoserver

private <T> Predicate<T> toPredicate(Filter filter) {
  if (filter != null && filter != Filter.INCLUDE) {
    return o -> filter.evaluate(o);
  } else {
    return CatalogInfoLookup.TRUE;
  }
}

代码示例来源:origin: geoserver/geoserver

public void remove() {
  if (writeFilter.evaluate(current)) {
    delegate.remove();
  } else {
    throw unsupportedOperation();
  }
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testInstanceOfObject() {
  // Ensuring that this function always return true when the input
  // class is Object
  Filter filter = Predicates.isInstanceOf(Object.class);
  assertTrue(filter.evaluate(new Object()));
  assertTrue(filter.evaluate("test"));
  assertTrue(filter.evaluate(1));
  assertTrue(filter.evaluate(true));
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testInstanceOfString() {
  // Ensuring that this function return true only when the object
  // class is String
  Filter filter = Predicates.isInstanceOf(String.class);
  assertTrue(filter.evaluate("test"));
  assertFalse(filter.evaluate(new Object()));
  assertFalse(filter.evaluate(1));
  assertFalse(filter.evaluate(true));
}

代码示例来源:origin: geoserver/geoserver

@Test
  public void testInstanceOfLayerInfo() {
    // Ensuring that this function return true only when the object
    // class is LayerInfo
    Filter filter = Predicates.isInstanceOf(LayerInfo.class);

    assertTrue(filter.evaluate(new LayerInfoImpl()));

    assertFalse(filter.evaluate("test"));
    assertFalse(filter.evaluate(new Object()));
    assertFalse(filter.evaluate(1));
    assertFalse(filter.evaluate(true));
  }
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyEqualsSimple() {
  assertTrue(equal("prefix", ns.getPrefix()).evaluate(ns));
  assertTrue(equal("id", ws.getId()).evaluate(ws));
  assertFalse(equal("id", "somethingElse").evaluate(ws));
  Set<StyleInfo> styles = new HashSet<StyleInfo>();
  styles.add(style1);
  assertFalse(equal("styles", styles, MatchAction.ALL).evaluate(vectorLayer));
  assertTrue(equal("styles", styles, MatchAction.ANY).evaluate(vectorLayer));
  styles.add(style2);
  assertTrue(equal("styles", styles).evaluate(vectorLayer));
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyEqualsAny() {
  assertTrue(equal("styles.id", style1.getId()).evaluate(vectorLayer));
  assertTrue(equal("styles.name", style2.getName()).evaluate(vectorLayer));
  assertFalse(equal("styles.id", "nonExistent").evaluate(vectorLayer));
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyEqualsCompound() {
  assertTrue(equal("resource.id", featureType.getId()).evaluate(vectorLayer));
  assertTrue(
      equal("resource.maxFeatures", featureType.getMaxFeatures()).evaluate(vectorLayer));
  assertTrue(equal("resource.store.type", dataStore.getType()).evaluate(vectorLayer));
  assertTrue(
      equal("resource.store.connectionParameters.boolParam", true).evaluate(vectorLayer));
  assertFalse(
      equal("resource.store.connectionParameters.boolParam", false)
          .evaluate(vectorLayer));
  ws.getMetadata().put("checkMe", new java.util.Date(1000));
  assertTrue(equal("metadata.checkMe", new java.util.Date(1000)).evaluate(ws));
  assertFalse(
      equal("resource.store.someNonExistentProperty", "someValue").evaluate(vectorLayer));
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyNotEqualsSimple() {
  assertTrue(Predicates.notEqual("id", "somethingElse").evaluate(ws));
}

代码示例来源:origin: geoserver/geoserver

@Test
  public void testContains() {
    assertTrue(contains("URI", "example").evaluate(ns));
    assertFalse(contains("resource.ns.URI", "example").evaluate(vectorLayer));
    assertTrue(contains("resource.namespace.URI", "example").evaluate(vectorLayer));

    assertTrue(contains("id", "vectorLayerId").evaluate(vectorLayer));
    assertTrue(contains("id", "vectorLayerID").evaluate(vectorLayer));
    assertTrue(contains("id", "torLAY").evaluate(vectorLayer));

    assertTrue(contains("styles.name", "style2").evaluate(vectorLayer));
    assertTrue(contains("styles.name", "Style2").evaluate(vectorLayer));
    assertTrue(contains("styles.name", "YL").evaluate(vectorLayer));
    assertFalse(contains("styles.name", "style3").evaluate(vectorLayer));

    String name = featureType.getName();
    assertTrue(contains("resource.name", name).evaluate(vectorLayer));
    assertFalse(contains("resource.name", "?").evaluate(vectorLayer));

    featureType.setName("name?.*$[]&()");
    assertTrue(contains("resource.name", "?").evaluate(vectorLayer));
    assertTrue(contains("resource.name", ".").evaluate(vectorLayer));
    assertTrue(contains("resource.name", "*").evaluate(vectorLayer));

    featureType.setName(null);

    assertFalse(contains("resource.name", name).evaluate(vectorLayer));
  }
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyEqualsConverters() {
  Object expected;
  expected = featureType.getMaxFeatures();
  assertTrue(equal("resource.maxFeatures", expected).evaluate(vectorLayer));
  expected = String.valueOf(featureType.getMaxFeatures());
  assertTrue(equal("resource.maxFeatures", expected).evaluate(vectorLayer));
  expected = new Double(featureType.getMaxFeatures());
  assertTrue(equal("resource.maxFeatures", expected).evaluate(vectorLayer));
  expected = "true";
  assertTrue(
      equal("resource.store.connectionParameters.boolParam", expected)
          .evaluate(vectorLayer));
  expected = "false";
  assertFalse(
      equal("resource.store.connectionParameters.boolParam", false)
          .evaluate(vectorLayer));
  ws.getMetadata().put("checkMe", new java.util.Date(1000));
  expected = new java.sql.Timestamp(1000);
  assertTrue(
      equal("resource.store.workspace.metadata.checkMe", expected).evaluate(vectorLayer));
  assertFalse(
      equal("resource.store.someNonExistentProperty", "someValue").evaluate(vectorLayer));
}

代码示例来源:origin: geotools/geotools

public boolean evaluate(Object feature) {
  for (Filter filter : children) {
    if (filter.evaluate(feature)) {
      return true;
    }
  }
  return false;
}

代码示例来源:origin: geoserver/geoserver

@Test
public void testPropertyEqualsIndexed() {
  AuthorityURLInfo aurl1 = new AuthorityURL();
  aurl1.setName("url1");
  AuthorityURLInfo aurl2 = new AuthorityURL();
  aurl2.setName("url2");
  AuthorityURLInfo aurl3 = new AuthorityURL();
  aurl3.setName("url3");
  vectorLayer.setAuthorityURLs(Arrays.asList(aurl1, aurl2, aurl3));
  assertTrue(equal("authorityURLs[1]", aurl1).evaluate(vectorLayer));
  assertTrue(equal("authorityURLs[1].name", aurl1.getName()).evaluate(vectorLayer));
  assertTrue(equal("authorityURLs[2]", aurl2).evaluate(vectorLayer));
  assertTrue(equal("authorityURLs[2].name", aurl2.getName()).evaluate(vectorLayer));
  assertTrue(equal("authorityURLs[3]", aurl3).evaluate(vectorLayer));
  assertTrue(equal("authorityURLs[3].name", aurl3.getName()).evaluate(vectorLayer));
}

代码示例来源:origin: geotools/geotools

public boolean evaluate(Object object) {
  for (Filter filter : children) {
    if (!filter.evaluate(object)) {
      return false; // short circuit
    }
  }
  return true;
}

代码示例来源:origin: geotools/geotools

private Object staticFilterEvaluate(Filter filter) {
  if (filter.evaluate(null)) {
    return Filter.INCLUDE;
  } else {
    return Filter.EXCLUDE;
  }
}

代码示例来源:origin: geotools/geotools

private F getNext() {
  F item = null;
  while (delegate.hasNext()) {
    item = delegate.next();
    if (filter.evaluate(item)) {
      return item;
    }
  }
  return null;
}

代码示例来源:origin: geotools/geotools

public Collection content(Filter filter, int countLimit) {
  List list = new ArrayList();
  int count = 0;
  for (Iterator i = collection.iterator(); i.hasNext() && count < countLimit; ) {
    Object obj = i.next();
    if (filter.evaluate(obj)) {
      list.add(obj);
      count++;
    }
  }
  return Collections.unmodifiableList(list);
}

代码示例来源:origin: geotools/geotools

protected void querySpatialIndex() {
  while (spatialIndexIterator.hasNext() && next == null) {
    F f = (F) spatialIndexIterator.next();
    if (encounteredFids.contains(f.getIdentifier().getID()) || !filter.evaluate(f)) {
      continue;
    }
    next = f;
  }
}

代码示例来源:origin: geotools/geotools

protected void queryModified() {
  while (modifiedIterator.hasNext() && next == null) {
    next = (F) modifiedIterator.next();
    if (next == Diff.NULL
        || encounteredFids.contains(next.getIdentifier().getID())
        || !filter.evaluate(next)) {
      next = null;
    }
  }
}

代码示例来源:origin: geotools/geotools

protected void queryAdded() {
  while (addedIterator.hasNext() && next == null) {
    next = (F) addedIterator.next();
    if (encounteredFids.contains(next.getIdentifier().getID()) || !filter.evaluate(next)) {
      next = null;
    }
  }
}

相关文章

微信公众号

最新文章

更多