Class AbstractSearchResult

    • Method Detail

      • getLabels

        public Set<String> getLabels​(com.atlassian.user.User user)
        Description copied from interface: SearchResult
        Gets the labels on the current search result that are visible to the specified user.
        Specified by:
        getLabels in interface SearchResult
        Parameters:
        user - filter labels by this user
        Returns:
        the labels on the current search result that are visible to the specified user.
      • getPersonalLabels

        public Set<String> getPersonalLabels()
        Description copied from interface: SearchResult
        Gets all the personal labels on the current search result.
        Specified by:
        getPersonalLabels in interface SearchResult
        Returns:
        all the personal labels on the current search result
      • getContent

        public String getContent()
        Description copied from interface: SearchResult
        Gets the text content of the search result.
        Specified by:
        getContent in interface SearchResult
        Returns:
        the text content of the search result
      • getSanitisedContent

        protected String getSanitisedContent()
      • getResultExcerpt

        protected String getResultExcerpt​(int maxLength)
      • getResultExcerpt

        public String getResultExcerpt()
        Description copied from interface: SearchResult
        Gets excerpt from the context of the search result. Implementation could choose how to generate the result excerpts, for example, concatenated fragments of the document content where hits are found, or simply the first few words of the document.
        Specified by:
        getResultExcerpt in interface SearchResult
        Returns:
        excerpt of the content of the search result
      • isHomePage

        public boolean isHomePage()
        Description copied from interface: SearchResult
        Checks if the search result represents the homepage of a space.
        Specified by:
        isHomePage in interface SearchResult
        Returns:
        true if the result represents the homepage of a space
      • getCreatorUser

        public ConfluenceUser getCreatorUser()
        Description copied from interface: SearchResult
        Gets the person who created the entity represented by the search result.
        Specified by:
        getCreatorUser in interface SearchResult
        Returns:
        the result's creator
      • getOwnerType

        public String getOwnerType()
        Description copied from interface: SearchResult
        If this result represents an attachment then this field will return the type of the container, a page or blogpost.
        Specified by:
        getOwnerType in interface SearchResult
        Returns:
        the owner type
      • getOwnerTitle

        public String getOwnerTitle()
        Description copied from interface: SearchResult
        If this result represents an attachment then this field will return the title of the page or blog post the attachment is attached to.
        Specified by:
        getOwnerTitle in interface SearchResult
        Returns:
        the owner title
      • getContentVersion

        public Integer getContentVersion()
        Description copied from interface: SearchResult
        Returns the version of the content if available, or null if there's no version for this result.
        Specified by:
        getContentVersion in interface SearchResult
      • getLastModificationDate

        public Date getLastModificationDate()
        Description copied from interface: SearchResult
        Gets the last modification date of the entity represented by the search result.
        Specified by:
        getLastModificationDate in interface SearchResult
        Returns:
        the last modification date of the entity
      • getLastModifierUser

        public ConfluenceUser getLastModifierUser()
        Description copied from interface: SearchResult
        Gets the last person to modify the entity represented by the search result.
        Specified by:
        getLastModifierUser in interface SearchResult
        Returns:
        the result's last modifier
      • getDisplayTitle

        public String getDisplayTitle()
        Description copied from interface: SearchResult
        Gets the title of the search result appropriate for displaying to a user. All results should return something useful for this method.
        Specified by:
        getDisplayTitle in interface SearchResult
        Returns:
        the title of the search result appropriate for display on a page
        See Also:
        Addressable.getDisplayTitle()
      • getUrlPath

        public String getUrlPath()
        Description copied from interface: SearchResult
        Gets the URL path to the search result, relative to the site's context root. All results should return something useful for this method
        Specified by:
        getUrlPath in interface SearchResult
        Returns:
        the URL path to the search result
        See Also:
        Addressable.getUrlPath()
      • getLastUpdateDescription

        public String getLastUpdateDescription()
        Description copied from interface: SearchResult
        Gets some string describing the last modification to this content. May be null if no such string is available. For content objects, this will be the same as the "version comment"

        This string is user-supplied, and therefore not internationalised

        Specified by:
        getLastUpdateDescription in interface SearchResult
        Returns:
        a string describing the last modification to the content
        See Also:
        ContentEntityObject.getVersionComment()
      • getSpaceName

        public String getSpaceName()
        Specified by:
        getSpaceName in interface SearchResult
        Returns:
        the name of the space that contains this search result.
      • getSpaceKey

        public String getSpaceKey()
        Specified by:
        getSpaceKey in interface SearchResult
        Returns:
        the key of the space that contains this search result
      • hasLabels

        public boolean hasLabels()
        Specified by:
        hasLabels in interface SearchResult
        Returns:
        true if this search result has labels, false otherwise.
      • getExtraFields

        public Map<String,​String> getExtraFields()
        Description copied from interface: SearchResult
        If the retrieved documents contain additional fields that cannot be directly accessed by this interface then they can be retrieved via this method.

        The field names are abstracted from the underlying search implementation and will be centrally defined. Their values are not yet documented.

        Specified by:
        getExtraFields in interface SearchResult
        Returns:
        Map of additional field names and their values.
      • getHandle

        public Handle getHandle()
        Description copied from interface: BaseSearchResult
        Retrieves the handle that can then be used by the AnyTypeDao to retrieve the database object referenced by this search result.

        Because the database and index are not updated at the same time, it is possible for a deleted entity to still be represented in the search index. Do not assume that this handle will always refer to a live object.

        Specified by:
        getHandle in interface BaseSearchResult
        Returns:
        the handle that can be used to look up the underlying database object.
        See Also:
        AnyTypeDao.findByHandle(com.atlassian.bonnie.Handle)
      • getField

        public String getField​(String fieldName)
        Description copied from interface: BaseSearchResult
        Returns the contents of the field as a string. This method will return null if there is no content for the field or the field does not exist. FieldName is case sensitive.
        Specified by:
        getField in interface BaseSearchResult
        Returns:
        the field value or null.
      • getFieldValue

        public abstract String getFieldValue​(String fieldName)
        Return a string value of a field of a given document, if the field has multiple values then return last value, if there is no such field then return null.
        Returns:
        a string value of a field
      • getFieldValues

        public abstract Set<String> getFieldValues​(String fieldName)
        Return set of string values of a field of a given document, if the field has single value then return singleton set of that value, if there is no such field then return empty set.
        Specified by:
        getFieldValues in interface BaseSearchResult
        Returns:
        a string value of a field
      • getStringResult

        protected String getStringResult​(String... fieldNames)
        Retrieves the value for the specified field name. If more than one field name is provided, it will attempt to retrieve a value for each field in order, returning as soon as a non-null value is encountered.
        Parameters:
        fieldNames - field name(s) to retrieve a value for
        Returns:
        the first non-null value associated with the ordered list of field names passed in
      • getUserResult

        protected ConfluenceUser getUserResult​(String fieldName)
        Attempts to resolve the contents of the given field as a ConfluenceUser. The method first attempts to resolve the user using the field value as a UserKey. If that fails, it tries to resolve the user using the field value as a username. If that fails, it returns null. This is necessary because the same SearchFieldNames.LAST_MODIFIER and SearchFieldNames.CREATOR fields are used both to store userkeys (post-upgrade) and usernames (pre-upgrade).
        Since:
        5.2
      • getDateResult

        protected Date getDateResult​(String key)
      • getIntegerResult

        protected Integer getIntegerResult​(String fieldName)