Class RenameFilter

java.lang.Object
nz.org.riskscape.engine.gt.ConvertFilter
nz.org.riskscape.engine.relation.RenameFilter
All Implemented Interfaces:
org.geotools.api.filter.expression.ExpressionVisitor, org.geotools.api.filter.FilterVisitor

public class RenameFilter extends ConvertFilter

Supports property renamings/transformations when applying a filter to a projected relation.

Parts of the filter subtree may be removed if they cannot be transformed and doing so would not narrow the results to far.

  • Constructor Details

    • RenameFilter

      public RenameFilter(Map<nz.org.riskscape.engine.types.Struct.StructMember,nz.org.riskscape.engine.types.Struct.StructMember> renamings)
  • Method Details

    • convert

      protected RenameFilter.Result convert(org.geotools.api.filter.Filter original)

      Converts a Filter to one with any renamings applied to property expressions.

      This conversion process may exclude parts of the filter tree that are not able to be converted, and return a partial filter. Should this occur warnings will be included.

      Parameters:
      original - filter to convert
      Returns:
      converted filter and any problems encountered
    • visit

      public Object visit(org.geotools.api.filter.expression.PropertyName expression, Object extraData)
      Specified by:
      visit in interface org.geotools.api.filter.expression.ExpressionVisitor
      Overrides:
      visit in class ConvertFilter
    • visit

      public Object visit(org.geotools.api.filter.Or filter, Object extraData)
      Specified by:
      visit in interface org.geotools.api.filter.FilterVisitor
      Overrides:
      visit in class ConvertFilter
    • visit

      public Object visit(org.geotools.api.filter.And filter, Object extraData)
      Specified by:
      visit in interface org.geotools.api.filter.FilterVisitor
      Overrides:
      visit in class ConvertFilter