public final class SortOptions extends HTTPParameter
The default parser for sort options.
The basic syntax is: ?PARAMETER=OrderDirection, e.g. ?sort=<
It is also possible to give type specific order clauses, e.g. ?sort=TYPE1;<,TYPE2;>
Also, you can provide specific element name, e.g. ?sort=<ELEMENT_NAME or ?sort=TYPE1;>ELEMENT_NAME
These to variations can be combined, e.g. ?sort=<,TYPE;> to provide different sort option for a specific type
Note: the parses has no way of knowing if the given TYPE or ELEMENT_NAME value is valid, you should check the values yourself
Any number of sort clauses (SortOption) can be given, and they will be processed in-order by the default SQL and SOLR query builders.
Modifier and Type | Class and Description |
---|---|
static class |
SortOptions.Option
A single sort option.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ORDER_DIRECTION_ASCENDING
String for ascending sort
|
static java.lang.String |
ORDER_DIRECTION_DESCENDING
String for descending sort
|
static java.lang.String |
PARAMETER_DEFAULT_NAME
Recommended name for the sort parameter
|
Constructor and Description |
---|
SortOptions() |
Modifier and Type | Method and Description |
---|---|
void |
addSortOption(SortOptions.Option option) |
java.util.Set<SortOptions.Option> |
getDefaultSortOptions() |
static java.util.Set<SortOptions.Option> |
getSortOptions(SortOptions options,
java.lang.String typeName) |
java.util.Set<SortOptions.Option> |
getSortOptions(java.lang.String typeName) |
java.util.Set<SortOptions.Option> |
getValue() |
boolean |
hasValues()
Note: getValue() may return null even though this method returns null, if user has provided a specific
sorting option, which is NOT a default option
|
void |
initialize(java.util.List<java.lang.String> parameterValues)
Initialize this parameter based on the given parameter values
|
void |
initialize(java.lang.String parameterValue)
Initialize this parameter based on the given parameter value
|
getParameterName, initialize, initializeRaw, initializeRaw, setParameterName
public static final java.lang.String ORDER_DIRECTION_ASCENDING
public static final java.lang.String ORDER_DIRECTION_DESCENDING
public static final java.lang.String PARAMETER_DEFAULT_NAME
public SortOptions()
public static java.util.Set<SortOptions.Option> getSortOptions(SortOptions options, java.lang.String typeName)
options
- typeName
- public java.util.Set<SortOptions.Option> getSortOptions(java.lang.String typeName)
typeName
- public void addSortOption(SortOptions.Option option)
option
- public java.util.Set<SortOptions.Option> getDefaultSortOptions()
public void initialize(java.util.List<java.lang.String> parameterValues) throws java.lang.IllegalArgumentException
HTTPParameter
initialize
in class HTTPParameter
parameterValues
- can NOT be nulljava.lang.IllegalArgumentException
- on bad input datapublic void initialize(java.lang.String parameterValue) throws java.lang.IllegalArgumentException
HTTPParameter
initialize
in class HTTPParameter
parameterValue
- can be nulljava.lang.IllegalArgumentException
- on bad input datapublic boolean hasValues()
hasValues
in class HTTPParameter
public java.util.Set<SortOptions.Option> getValue()
getValue
in class HTTPParameter
Copyright © 2015 Tampere University of Technology, Pori Department.