Interface Cell

    • Method Detail

      • getShapeRel

        SpatialRelation getShapeRel()
        Gets the relationship this cell has with the shape from which it was filtered from, assuming it came from a CellIterator. Arguably it belongs there but it's very convenient here.
      • isLeaf

        boolean isLeaf()
        Some cells are flagged as leaves, which are indexed as such. A leaf cell is either within some shape or it both intersects and the cell is at an accuracy threshold such that no smaller cells for the shape will be represented.
      • setLeaf

        void setLeaf()
        Set this cell to be a leaf. Warning: never call on a cell initialized to reference the same bytes from termsEnum, which should be treated as immutable. Note: not supported at level 0.
      • getTokenBytesWithLeaf

        BytesRef getTokenBytesWithLeaf​(BytesRef result)
        Returns the bytes for this cell, with a leaf byte if this is a leaf cell. The result param is used to save object allocation, though its bytes aren't used.
        Parameters:
        result - where the result goes, or null to create new
      • getTokenBytesNoLeaf

        BytesRef getTokenBytesNoLeaf​(BytesRef result)
        Returns the bytes for this cell, without a leaf set. The bytes should sort before getTokenBytesWithLeaf(org.apache.lucene.util.BytesRef). The result param is used to save object allocation, though its bytes aren't used.
        Parameters:
        result - where the result goes, or null to create new
      • getLevel

        int getLevel()
        Level 0 is the world (and has no parent), from then on a higher level means a smaller cell than the level before it.
      • getNextLevelCells

        CellIterator getNextLevelCells​(Shape shapeFilter)
        Gets the cells at the next grid cell level underneath this one, optionally filtered by shapeFilter. The returned cells should have getShapeRel() set to their relation with shapeFilter. In addition, for non-points isLeaf() must be true when that relation is WITHIN.

        IMPORTANT: Cells returned from this iterator can be shared, as well as the bytes.

        Precondition: Never called when getLevel() == maxLevel.

        Parameters:
        shapeFilter - an optional filter for the returned cells.
        Returns:
        A set of cells (no dups), sorted. Not Modifiable.
      • getShape

        Shape getShape()
        Gets the shape for this cell; typically a Rectangle.
      • isPrefixOf

        boolean isPrefixOf​(Cell c)
        Returns if the target term is within/underneath this cell; not necessarily a direct descendant.
        Parameters:
        c - the term
      • compareToNoLeaf

        int compareToNoLeaf​(Cell fromCell)
        Equivalent to this.getTokenBytesNoLeaf(null).compareTo(fromCell.getTokenBytesNoLeaf(null)).