Class ContextSearchNodeRelevance

  • All Implemented Interfaces:
    NodeRelevance, java.lang.Cloneable, java.lang.Comparable

    public class ContextSearchNodeRelevance
    extends java.lang.Object
    implements NodeRelevance
    Default relevance for search nodes.

    This implementation stores different relevance zones and a level of relevance for each of them. Zones are sorted in order from most important to least. While comparing this type of relevance a zone with lower priority is checked only if relevance levels in higher priority zone are equal.

    • Constructor Detail

      • ContextSearchNodeRelevance

        public ContextSearchNodeRelevance​(java.lang.String... zones)
        Parameters:
        zones - relevance zones in order from most important to least important
      • ContextSearchNodeRelevance

        public ContextSearchNodeRelevance​(java.util.Collection<java.lang.String> zones)
        Parameters:
        zones - relevance zones ordered from most important to least important
    • Method Detail

      • setLevel

        public void setLevel​(java.lang.String zone,
                             int level)
                      throws java.lang.IllegalArgumentException
        Sets relevance level form specified zone.

        The lower level, the higher relevance is.

        Parameters:
        zone - name of relevance zone
        level - relevance zone for this zone
        Throws:
        java.lang.IllegalArgumentException - thrown if zone of provided name is not defined for this relevance
      • getLevel

        public int getLevel​(java.lang.String zone)
        Gets relevance level form specified zone.

        The lower level, the higher relevance is.

        Parameters:
        zone - name of relevance zone
        Returns:
        relevance for provided zone or Integer.MAX_VALUE if not relevant in this zone
      • decreaseLevel

        public int decreaseLevel​(java.lang.String zone)
                          throws java.lang.IllegalArgumentException
        Decreases relevance level in specified zone by 1.
        Parameters:
        zone - name of relevance zone
        Returns:
        new level of relevance
        Throws:
        java.lang.IllegalArgumentException - thrown if zone of provided name is not defined for this relevance
      • clone

        @Deprecated(since="6.7",
                    forRemoval=true)
        public ContextSearchNodeRelevance clone()
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 6.7 Use copy constructor instead.
        Description copied from interface: NodeRelevance
        Creates a copy of this relevance level
        Specified by:
        clone in interface NodeRelevance
        Overrides:
        clone in class java.lang.Object
        Returns:
        copy
      • compareTo

        public int compareTo​(java.lang.Object o)
        Specified by:
        compareTo in interface java.lang.Comparable
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • irrelevant

        public static ContextSearchNodeRelevance irrelevant​(java.lang.String... zones)
        Creates a search node relevance that is totally irrelevant in specified zones
        Parameters:
        zones - relevance zones
        Returns:
        lowest relevance
      • irrelevant

        public static ContextSearchNodeRelevance irrelevant​(java.util.List<java.lang.String> zones)
        Creates a search node relevance that is totally irrelevant in specified zones
        Parameters:
        zones - relevance zones
        Returns:
        lowest relevance
      • mostRelevant

        public static ContextSearchNodeRelevance mostRelevant​(java.lang.String... zones)
        Creates a search node relevance with highest relevance in specified zones
        Parameters:
        zones - relevance zones
        Returns:
        highest relevance
      • mostRelevant

        public static ContextSearchNodeRelevance mostRelevant​(java.util.Collection<java.lang.String> zones)
        Creates a search node relevance with highest relevance in specified zones
        Parameters:
        zones - relevance zones
        Returns:
        highest relevance