public abstract class

BaseFieldIndexer

extends Object
implements FieldIndexer
java.lang.Object
   ↳ com.atlassian.jira.issue.index.indexers.impl.BaseFieldIndexer
Known Direct Subclasses
Known Indirect Subclasses

Summary

[Expand]
Inherited Constants
From interface com.atlassian.jira.issue.index.indexers.FieldIndexer
Protected Constructors
BaseFieldIndexer(FieldVisibilityManager fieldVisibilityManager)
Public Methods
int compareTo(Object obj)
boolean equals(Object o)
int hashCode()
void indexDateField(Document doc, String indexField, Timestamp date, Issue issue)
Index a single keyword field, with a date-time value
void indexDependentEntities(Issue issue, Document doc, String associationType, String indexField)
Index the dependent entities of an issue.
void indexFoldedKeyword(Document doc, String indexField, String fieldValue, Locale locale, Issue issue)
Case fold the passed keyword and add it to the passed document.
void indexKeyword(Document doc, String indexField, String fieldValue, Issue issue)
Index a single keyword field
void indexKeywordWithDefault(Document doc, String indexField, Long aLong, String defaultValue, Issue issue)
void indexKeywordWithDefault(Document doc, String indexField, String fieldValue, String defaultValue, Issue issue)
Index a single keyword field, with a default if the issue field is not set

shared with CommentDocumentFactory

void indexLocalDateField(Document doc, String indexField, LocalDate localDate, Issue issue)
Index a single keyword field, with a LocalDate value
void indexLongAsKeyword(Document doc, String indexField, Long fieldValue, Issue issue)
void indexLongAsPaddedKeywordWithDefault(Document doc, String indexField, Long aLong, Long defaultLong, Issue issue)
Useful for storing a Long value for range query searches.
void indexLongAsPaddedKeywordWithDefault(Document doc, String indexField, Long aLong, String defaultValue, Issue issue)
Useful for storing a Long value for range query searches.
void indexText(Document doc, String indexField, String fieldValue, Issue issue)
Index a single text field
void indexTextForSorting(Document doc, String indexField, String fieldValue, Issue issue)
Index a single text field
boolean isFieldVisibleAndInScope(Issue issue)
This method is used to determine if the indexer is relevant for the provided issue.
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.atlassian.jira.issue.index.indexers.FieldIndexer

Protected Constructors

protected BaseFieldIndexer (FieldVisibilityManager fieldVisibilityManager)

Public Methods

public int compareTo (Object obj)

public boolean equals (Object o)

public int hashCode ()

public void indexDateField (Document doc, String indexField, Timestamp date, Issue issue)

Index a single keyword field, with a date-time value

public void indexDependentEntities (Issue issue, Document doc, String associationType, String indexField)

Index the dependent entities of an issue.

public void indexFoldedKeyword (Document doc, String indexField, String fieldValue, Locale locale, Issue issue)

Case fold the passed keyword and add it to the passed document.

Parameters
doc the document to add the field to.
indexField the document field name to use.
fieldValue the value to index. This value will be folded before adding it to the document.
locale the locale to use in the case folding. Null can be passed to use the Locale given in getDefault().
issue the issue that defines the context and contains the value we are indexing.
See Also

public void indexKeyword (Document doc, String indexField, String fieldValue, Issue issue)

Index a single keyword field

Parameters
doc the document to add the field to.
indexField the document field name to user.
fieldValue the value to index. This value will NOT be folded before adding it to the document.
issue the issue that defines the context and contains the value we are indexing.

public void indexKeywordWithDefault (Document doc, String indexField, Long aLong, String defaultValue, Issue issue)

public void indexKeywordWithDefault (Document doc, String indexField, String fieldValue, String defaultValue, Issue issue)

Index a single keyword field, with a default if the issue field is not set

shared with CommentDocumentFactory

public void indexLocalDateField (Document doc, String indexField, LocalDate localDate, Issue issue)

Index a single keyword field, with a LocalDate value

public void indexLongAsKeyword (Document doc, String indexField, Long fieldValue, Issue issue)

public void indexLongAsPaddedKeywordWithDefault (Document doc, String indexField, Long aLong, Long defaultLong, Issue issue)

Useful for storing a Long value for range query searches. Uses longToString(long) to pad and convert the values to base 36 before indexing. Also pads and converts the default Value.

Parameters
doc the document
indexField the index field id
aLong the long value to be converted
defaultLong the default value if aLong is null
issue the issue that defines the context and contains the value we are indexing.

public void indexLongAsPaddedKeywordWithDefault (Document doc, String indexField, Long aLong, String defaultValue, Issue issue)

Useful for storing a Long value for range query searches. Uses longToString(long) to pad and convert the value to base 36 before indexing. Does not pad the default value.

Parameters
doc the document
indexField the index field id
aLong the long value to be converted
defaultValue the default value if aLong is null
issue the issue that defines the context and contains the value we are indexing.

public void indexText (Document doc, String indexField, String fieldValue, Issue issue)

Index a single text field

public void indexTextForSorting (Document doc, String indexField, String fieldValue, Issue issue)

Index a single text field

public boolean isFieldVisibleAndInScope (Issue issue)

This method is used to determine if the indexer is relevant for the provided issue. This method must check the fields visibility, in relation to the field configuration scheme, must check any global flags that would enable or disable a field (such as enable votes flag), and must check, if the field is a custom field, if the custom field is relevant for this issue.

All these checks should take into account the IssueContext as defined by the passed in issue.

If this method returns false then the FieldIndexer, when performing addIndex, should make sure to make the indexed values have an Indexed type of NO.

The result of this method is used to determine the correct values that should be returned when performing an empty search.

Parameters
issue that is having a document created from.
Returns
  • if true then this field is relevant for the issue, otherwise it is not.