Class SpatialExpressionFactory

java.lang.Object
org.eclipse.persistence.expressions.spatial.SpatialExpressionFactory

public class SpatialExpressionFactory extends Object
This class is used to construct expressions that use Oracle Spatial operators
 ExpressionBuilder builder = new ExpressionBuilder();
 Expression withinDistance = SpatialExpressions.withinDistance(myJGeometry1, myJGeometry2, "DISTANCE=10");
 session.readAllObjects(GeometryHolder.class, withinDistance);
 
  • Constructor Details

    • SpatialExpressionFactory

      public SpatialExpressionFactory()
  • Method Details

    • withinDistance

      public static Expression withinDistance(Expression geom1, Object geom2, SpatialParameters params)
      PUBLIC: Return an Expression for the MDSYS.SDO_WITHIN_DISTANCE Spatial Operator on the Oracle Database Use of this expression requires the Java spatial classes
       SpatialParameters parameters = new SpatialParameters();
      parameters.setDistance(10d);
       Expression selectCriteria = SpatialExpressions.withinDistance(jGeometry1, jGeometry2, parameters);
       
      Parameters:
      geom1 - an Expression representing a JGeometryObject
      geom2 - a JGeometryObject or an Expression representing a JGeometryObject
      params - a SpatialParameters object configured with the parameters to the call
      Returns:
      a TopLink Expression
    • relate

      public static Expression relate(Expression geom1, Object geom2, SpatialParameters params)
      PUBLIC: Return an Expression for the MDSYS.MDSYS.SDO_RELATE Spatial Operator on the Oracle Database Use of this operator requires the Java spatial classes
       SpatialParameters parameters = new SpatialParameters();
       parameters..setMask(Mask.ANYINTERACT).setQueryType(QueryType.WINDOW);
       Expression selectCriteria = SpatialExpressions.relate(jGeometry1, jGeometry2, parameters);
       
      Parameters:
      geom1 - an Expression representing a JGeometryObject
      geom2 - a JGeometryObject or an Expression representing a JGeometryObject
      params - a SpatialParameters object configured with the parameters to the call
      Returns:
      a TopLink Expression
    • filter

      public static Expression filter(Expression geom1, Object geom2, SpatialParameters params)
      PUBLIC: Return an Expression for the MDSYS.SDO_FILTER Spatial Operator on the Oracle Database Use of this operator requires the Java spatial classes
       SpatialParameters parameters = new SpatialParameters();
       parameters.setQueryType(QueryType.WINDOW);
       Expression selectCriteria = SpatialExpressions.filter(jGeometry1, jGeometry2, parameters);
       
      Parameters:
      geom1 - an Expression representing a JGeometryObject
      geom2 - a JGeometryObject or an Expression representing a JGeometryObject
      params - a SpatialParameters object configured with the parameters to the call
      Returns:
      a TopLink Expression
    • nearestNeighbor

      public static Expression nearestNeighbor(Expression geom1, Object geom2, SpatialParameters params)
      PUBLIC: Return an Expression for the MDSYS.SDO_NN Spatial Operator on the Oracle Database Use of this operator requires the Java spatial classes
       SpatialParameters parameters = new SpatialParameters();
       parameters.setUnit(Units.M);
       Expression selectCriteria = SpatialExpressions.nearestNeighbor(jGeometry1, jGeometry2, parameters);
       
      Parameters:
      geom1 - an Expression representing a JGeometryObject
      geom2 - a JGeometryObject or an Expression representing a JGeometryObject
      params - a SpatialParameters object configured with the parameters to the call
      Returns:
      a TopLink Expression
    • getSpatialExpression

      public static Expression getSpatialExpression(int operator, Expression geom1, Object geom2, String params)
      INTERNAL: A utility method to build a SpatialExpression
      Parameters:
      operator - the ordinal of the operator
      geom1 -
      geom2 -
      params -
      Returns: