## org.opengis.filter
Interface FilterVisitor

    @Extension
    public interface FilterVisitor

Visitor with `visit` methods to be called by `Filter.accept(...)`.

Consider: It is unclear if this visitor should be applied directly to Filter, or should be walked accross the data structure by hand. The standard complient structure is well defined, and this should negate the need for a formal visitor (we don't have internal structure we are hiding).

There is still a very valid use for FilterVisitor, a instance may implement both FilterVisitor and ExpressionVisitor and ExpressionVisitory in one direction, and a FilterVisitor and a StyleVisitor in the other. The ability to directly focus on transforming data within a larger structure is something a normal data walk can not accomplish in a scalable manner.

Since:
  GeoAPI 2.0
Version:
  Implementation specification 1.0

Method Summary
`Object` `visit(And filter, Object extraData)`
`Object` `visit(BBOX filter, Object extraData)`
`Object` `visit(Beyond filter, Object extraData)`
`Object` `visit(Contains filter, Object extraData)`
`Object` `visit(Crosses filter, Object extraData)`
`Object` `visit(Disjoint filter, Object extraData)`
`Object` `visit(DWithin filter, Object extraData)`
`Object` `visit(Equals filter, Object extraData)`
`Object` `visit(ExcludeFilter filter, Object extraData)` Visit `Filter.EXCLUDE` (often used during data structure transformations).
`Object` `visit(Id filter, Object extraData)`
`Object` `visit(IncludeFilter filter, Object extraData)` Visit `Filter.INCLUDE` (often used during data structure transformations).
`Object` `visit(Intersects filter, Object extraData)`
`Object` `visit(Not filter, Object extraData)`
`Object` `visit(Or filter, Object extraData)`
`Object` `visit(Overlaps filter, Object extraData)`
`Object` `visit(PropertyIsBetween filter, Object extraData)`
`Object` `visit(PropertyIsEqualTo filter, Object extraData)`
`Object` `visit(PropertyIsGreaterThan filter, Object extraData)`
`Object` `visit(PropertyIsGreaterThanOrEqualTo filter, Object extraData)`
`Object` `visit(PropertyIsLessThan filter, Object extraData)`
`Object` `visit(PropertyIsLessThanOrEqualTo filter, Object extraData)`
`Object` `visit(PropertyIsLike filter, Object extraData)`
`Object` `visit(PropertyIsNotEqualTo filter, Object extraData)`
`Object` `visit(PropertyIsNull filter, Object extraData)`
`Object` `visit(Touches filter, Object extraData)`
`Object` `visit(Within filter, Object extraData)`
`Object` `visitNullFilter(Object extraData)` Used to account for a `null` filter value.

Method Detail

### visitNullFilter

    Object visitNullFilter(Object extraData)

  Used to account for a `null` filter value.

  This is particularly used during data structure transofrmations, however the use of `null` is not recommended. Please make use of Filter.NONE and Filter.ALL as placeholder objects that communicate intent.

  Parameters:
    `extraData` - Value object provided to visitor
  Returns:
    subclass defined

### visit

    Object visit(ExcludeFilter filter,
                 Object extraData)

  Visit `Filter.EXCLUDE` (often used during data structure transformations).

  Parameters:
    `filter` - `Filter.EXCLUDE`.
    `extraData` - Value object provided to visitor
  Returns:
    subclass supplied

### visit

    Object visit(IncludeFilter filter,
                 Object extraData)

  Visit `Filter.INCLUDE` (often used during data structure transformations).

  Parameters:
    `filter` - `Filter.INCLUDE`.
    `extraData` - Value object provided to visitor
  Returns:
    subclass supplied

### visit

    Object visit(And filter,
                 Object extraData)

### visit

    Object visit(Id filter,
                 Object extraData)

### visit

    Object visit(Not filter,
                 Object extraData)

### visit

    Object visit(Or filter,
                 Object extraData)

### visit

    Object visit(PropertyIsBetween filter,
                 Object extraData)

### visit

    Object visit(PropertyIsEqualTo filter,
                 Object extraData)

### visit

    Object visit(PropertyIsNotEqualTo filter,
                 Object extraData)

### visit

    Object visit(PropertyIsGreaterThan filter,
                 Object extraData)

### visit

    Object visit(PropertyIsGreaterThanOrEqualTo filter,
                 Object extraData)

### visit

    Object visit(PropertyIsLessThan filter,
                 Object extraData)

### visit

    Object visit(PropertyIsLessThanOrEqualTo filter,
                 Object extraData)

### visit

    Object visit(PropertyIsLike filter,
                 Object extraData)

### visit

    Object visit(PropertyIsNull filter,
                 Object extraData)

### visit

    Object visit(BBOX filter,
                 Object extraData)

### visit

    Object visit(Beyond filter,
                 Object extraData)

### visit

    Object visit(Contains filter,
                 Object extraData)

### visit

    Object visit(Crosses filter,
                 Object extraData)

### visit

    Object visit(Disjoint filter,
                 Object extraData)

### visit

    Object visit(DWithin filter,
                 Object extraData)

### visit

    Object visit(Equals filter,
                 Object extraData)

### visit

    Object visit(Intersects filter,
                 Object extraData)

### visit

    Object visit(Overlaps filter,
                 Object extraData)

### visit

    Object visit(Touches filter,
                 Object extraData)

### visit

    Object visit(Within filter,
                 Object extraData)

Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.