package com.revolsys.geometry.index.quadtree; import com.revolsys.geometry.model.GeometryFactory; public abstract class IdObjectQuadTree<T> extends QuadTree<T> { private static final long serialVersionUID = 1L; public IdObjectQuadTree(final GeometryFactory geometryFactory) { super(geometryFactory, new IdObjectNode<T>()); } protected Object getId(final T item) { return item; } @SuppressWarnings("unchecked") protected T getItem(final Object id) { return (T)id; } protected abstract boolean intersectsBounds(Object id, double x, double y); protected abstract boolean intersectsBounds(Object id, double minX, double minY, double maxX, double maxY); }