Class PhraseOr

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public final class PhraseOr
    extends Phrase
    See Also:
    Serialized Form
    • Field Detail

      • terms

        protected java.util.List<Phrase> terms
        List of terms for matching.
    • Constructor Detail

      • PhraseOr

        public PhraseOr()
        Constructor
      • PhraseOr

        public PhraseOr​(java.lang.String... terms)
        Constructor
      • PhraseOr

        public PhraseOr​(Phrase... terms)
        Constructor
      • PhraseOr

        public PhraseOr​(Phrase term1,
                        Phrase term2)
        Constructor
      • PhraseOr

        public PhraseOr​(java.util.List<Phrase> terms)
        Constructor
    • Method Detail

      • clone

        protected Phrase clone​(Phrase[] terms,
                               int length)
        Clone to facilitate rewrite().
      • addTerm

        public void addTerm​(Phrase term)
        Add term to this phrase.
      • hashCode

        public int hashCode()
      • equals

        public boolean equals​(java.lang.Object other)
      • toString

        public void toString​(java.lang.StringBuilder buffer,
                             boolean compact)
        Appends the string representation of this query to buffer.
        Specified by:
        toString in class Phrase
      • getStartOffset

        public int getStartOffset()
        Description copied from class: Phrase
        Get the start offset (0 indexed, inclusive) for this term in the original query string.

        This value is set during parsing and indicates the start offset into the original query string that this term represents. In general, offsets should not be set/modified by query transformers and it is recommended that start and end offsets are set to zero when cloning.

        NOTE: if Phrase.getStartOffset() == Phrase.getEndOffset(), this indicates that the term did not come from a parsed query string.

        Specified by:
        getStartOffset in class Phrase
      • getEndOffset

        public int getEndOffset()
        Description copied from class: Phrase
        Get the end offset (0 indexed, exclusive) for this term in the original query string.

        This value is set during parsing and indicates the end offset of the original query string that this term represents. In general, offsets should not be set/modified by query transformers and it is recommended that start and end offsets are set to zero when cloning.

        NOTE: if Phrase.getStartOffset() == Phrase.getEndOffset(), this indicates that the term did not come from a parsed query string.

        Specified by:
        getEndOffset in class Phrase
      • size

        public int size()
        Get the number of terms in this phrase.
      • getTerms

        public java.util.List<Phrase> getTerms()
        Get the terms for this phrase.
      • setTerms

        public void setTerms​(java.util.List<Phrase> value)
        Set the terms for this phrase.
      • setTerms

        public void setTerms​(java.lang.String... args)
        Set the terms for this phrase.
      • setTerms

        public void setTerms​(Phrase... args)
        Set the terms for this phrase.
      • addTerm

        public void addTerm​(java.lang.String term)
        Add a SearchTerm to this phrase.
      • addTerms

        public void addTerms​(Phrase[] terms)
        Add terms to this phrase.
      • addTerms

        public void addTerms​(Phrase[] terms,
                             int offset,
                             int length)
        Add

        length terms from terms starting at offset.

      • addTerms

        public void addTerms​(java.util.List<Phrase> terms)
        Add terms to this phrase.
      • rewrite

        public Phrase rewrite​(PhraseHandler handler)
        Recursively rewrite this phrase using handler.

        NOTE: If a phrase has any children, the phrase itself will be passed to handler first, prior to its children. If handler returns a new phrase, its children will not be traversed automatically.

        Overrides:
        rewrite in class Phrase
      • rewriteChildren

        public Phrase rewriteChildren​(PhraseHandler handler)
        Description copied from class: Phrase
        Rewrite any children of this phrase using handler.

        Returns the modified phrase, which may be null if all children were removed by handler.

        This method may have no effect if this Phrase represents a leaf in the tree.

        NOTE: child phrases are not recursively traversed.

        Specified by:
        rewriteChildren in class Phrase