Class StatisticsMapperWrapper
java.lang.Object
com.atlassian.jira.issue.statistics.util.StatisticsMapperWrapper
- All Implemented Interfaces:
LuceneFieldSorter
,StatisticsMapper
- Direct Known Subclasses:
CachingStatisticsMapper
Provides a convenient implementation of the StatisticsMapper interface
that can be subclassed by developers wishing to adapt the request to a mapper.
This class implements the Wrapper or Decorator pattern. Methods default to
calling through to the wrapped statisticsMapper object.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionA comparator that can be used to order objects returned byLuceneFieldSorter.getValueFromLuceneField(String)
.Get the constant that this field is indexed with.getSearchUrlSuffix
(Object value, SearchRequest searchRequest) Get a suffix for the issue navigator, which allows for filtering on this value.getValueFromLuceneField
(String documentValue) Convert the lucene document field back to the object that you wish to use to display it.boolean
Check if the field is always part of an issues data.boolean
isValidValue
(Object value) Check whether this value is valid for this particular search.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.atlassian.jira.issue.search.LuceneFieldSorter
equals, hashCode
-
Constructor Details
-
StatisticsMapperWrapper
-
-
Method Details
-
isValidValue
Description copied from interface:StatisticsMapper
Check whether this value is valid for this particular search. This is useful if you do not wish to display all the values that are indexed (eg - only show released versions)- Specified by:
isValidValue
in interfaceStatisticsMapper
- Parameters:
value
- This is the same value that will be returned fromLuceneFieldSorter.getValueFromLuceneField(String)
- Returns:
- true if this value is valid for this particular search
-
isFieldAlwaysPartOfAnIssue
public boolean isFieldAlwaysPartOfAnIssue()Description copied from interface:StatisticsMapper
Check if the field is always part of an issues data. This should only return false in the case of a custom field where the value does not have to be set for each issue.- Specified by:
isFieldAlwaysPartOfAnIssue
in interfaceStatisticsMapper
- Returns:
- true if this mapper will always be part of an issues data
-
getSearchUrlSuffix
Description copied from interface:StatisticsMapper
Get a suffix for the issue navigator, which allows for filtering on this value.eg. a project field would return a SearchRequest object who's getQueryString method will produce
pid=10240
Note that values returned from implementations should return values that are URLEncoded.
- Specified by:
getSearchUrlSuffix
in interfaceStatisticsMapper
- Parameters:
value
- This is the same value that will be returned fromLuceneFieldSorter.getValueFromLuceneField(String)
searchRequest
- is the search request that should be used as the base of the newly generated SearchRequest object. If this parameter is null then the return type will also be null.- Returns:
- a SearchRequest object that will generate the correct issue navigator url to search the correct statistics set, null otherwise.
- See Also:
-
getDocumentConstant
Description copied from interface:LuceneFieldSorter
Get the constant that this field is indexed with.- Specified by:
getDocumentConstant
in interfaceLuceneFieldSorter
- See Also:
-
getValueFromLuceneField
Description copied from interface:LuceneFieldSorter
Convert the lucene document field back to the object that you wish to use to display it.eg. '1000' -> Version 1.
For custom fields, the return value will be passed to
CustomFieldSearcherModuleDescriptor.getStatHtml(com.atlassian.jira.issue.fields.CustomField, Object, String)
- Specified by:
getValueFromLuceneField
in interfaceLuceneFieldSorter
- Parameters:
documentValue
- The value of the field in the lucene index- Returns:
- The value that will be passed to the display
-
getComparator
Description copied from interface:LuceneFieldSorter
A comparator that can be used to order objects returned byLuceneFieldSorter.getValueFromLuceneField(String)
.The Comparator must be reentrant as it could be used by Lucene from multiple threads at once.
- Specified by:
getComparator
in interfaceLuceneFieldSorter
-