com.atlassian.jira.issue.index.indexers.impl
Class SubTaskIndexer
java.lang.Object
com.atlassian.jira.issue.index.indexers.impl.BaseFieldIndexer
com.atlassian.jira.issue.index.indexers.impl.SubTaskIndexer
- All Implemented Interfaces:
- FieldIndexer
public class SubTaskIndexer
- extends BaseFieldIndexer
Method Summary |
void |
addIndex(org.apache.lucene.document.Document doc,
Issue issue)
This method allows an indexer the opportunity to modifiy the provided Lucene document (by reference) such
that it will contain fields that are relevant for searching and storage of the portion of the issue that
the FieldIndexer handles. |
String |
getDocumentFieldId()
|
String |
getId()
|
boolean |
isFieldVisibleAndInScope(Issue issue)
This method is used to determine if the indexer is relevant for the provided issue. |
Methods inherited from class com.atlassian.jira.issue.index.indexers.impl.BaseFieldIndexer |
compareTo, equals, hashCode, indexDateField, indexDependentEntities, indexFoldedKeyword, indexKeyword, indexKeywordWithDefault, indexKeywordWithDefault, indexLocalDateField, indexLongAsKeyword, indexLongAsPaddedKeywordWithDefault, indexLongAsPaddedKeywordWithDefault, indexText, indexTextForSorting |
SubTaskIndexer
public SubTaskIndexer(FieldVisibilityManager fieldVisibilityManager,
SubTaskManager subTaskManager,
IssueLinkManager issueLinkManager)
getId
public String getId()
- Returns:
- the String representation of the field id that this indexer is indexing, this must be unique for
each independant FieldIndexer. If the Indexer does not represent a System or Custom field in JIRA this
should still return a unique string that describes the indexer.
getDocumentFieldId
public String getDocumentFieldId()
- Returns:
- the String representation of the primary field id that will be added to the
Document
as a result of a successful call to the
FieldIndexer.addIndex(org.apache.lucene.document.Document, com.atlassian.jira.issue.Issue)
method.
isFieldVisibleAndInScope
public boolean isFieldVisibleAndInScope(Issue issue)
- Description copied from interface:
FieldIndexer
- 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 Field.Index.NO
.
The result of this method is used to determine the correct values that should be returned when performing
an empty search.
- Specified by:
isFieldVisibleAndInScope
in interface FieldIndexer
- Overrides:
isFieldVisibleAndInScope
in class BaseFieldIndexer
- Parameters:
issue
- that is having a document created from.
- Returns:
- if true then this field is relevant for the issue, otherwise it is not.
addIndex
public void addIndex(org.apache.lucene.document.Document doc,
Issue issue)
- Description copied from interface:
FieldIndexer
- This method allows an indexer the opportunity to modifiy the provided Lucene document (by reference) such
that it will contain fields that are relevant for searching and storage of the portion of the issue that
the FieldIndexer handles.
If calling
FieldIndexer.isFieldVisibleAndInScope(com.atlassian.jira.issue.Issue)
returns false then
this method should create fields that have an Indexed type of Field.Index.NO
.
This allows us to store the value in the index but renderes its value unsearchable.
If, for example, the indexer handles indexing an issues summary then this indexer will add a field to
the document that represents the stored and searchable summary of the issue.
- Parameters:
doc
- the lucene document that should be modified by adding relevant fields to.issue
- the issue that contains the data that will be indexed and which can be used to determine
the project/issue type context that will allow you to determine if we should add the value as searchable
or unsearchable.
Copyright © 2002-2011 Atlassian. All Rights Reserved.