Package com.ibm.fhir.search.sort
Class Sort
- java.lang.Object
-
- com.ibm.fhir.search.sort.Sort
-
public class Sort extends Object
This class implements the _sort URL processing into internal SortParameters. FHIR Specification: _sort
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Sort.Direction
ascending and descending enumeration
-
Field Summary
Fields Modifier and Type Field Description static List<String>
SYSTEM_LEVEL_SORT_PARAMETER_NAMES
-
Constructor Summary
Constructors Constructor Description Sort()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
buildNewInvalidSearchExceptionMessage(String sortParmCode)
builds exception message when the sort parameter used is undefined.String
buildUndefinedSortParamMessage(String resourceTypeName, String sortParmCode)
builds exception message when the sort parameter used is undefined.void
checkSystemLevel(String resourceTypeName, String code)
check system level searches with DESC/ASC are ONLY with _id and _lastUpdatedboolean
isUndefinedOrLenient(String resourceTypeName, String sortParmCode, SearchParameter sortParmProxy, boolean lenient)
checks to see if undefined as a SearchParameter or Lenientvoid
parseSortParameter(Class<?> resourceType, FHIRSearchContext context, String sortParmValue, boolean lenient)
Parses the _sort parameter.void
parseSortParameter(String resourceTypeName, FHIRSearchContext context, String sortParmValue, boolean lenient)
Parses the _sort parameter.
-
-
-
Method Detail
-
parseSortParameter
public void parseSortParameter(Class<?> resourceType, FHIRSearchContext context, String sortParmValue, boolean lenient) throws Exception
Parses the _sort parameter.- Parameters:
resourceType
- the resource typecontext
- the search contextsortParmValue
- the parameter valuelenient
- true if lenient, false if strict- Throws:
Exception
- an exception
-
parseSortParameter
public void parseSortParameter(String resourceTypeName, FHIRSearchContext context, String sortParmValue, boolean lenient) throws Exception
Parses the _sort parameter.- Parameters:
resourceTypeName
- the resource type namecontext
- the search contextsortParmValue
- the parameter valuelenient
- true if lenient, false if strict- Throws:
Exception
- an exception
-
isUndefinedOrLenient
public boolean isUndefinedOrLenient(String resourceTypeName, String sortParmCode, SearchParameter sortParmProxy, boolean lenient) throws FHIRSearchException
checks to see if undefined as a SearchParameter or Lenient- Parameters:
resourceTypeName
-sortParmCode
-sortParmProxy
-lenient
-- Returns:
- Throws:
FHIRSearchException
-
checkSystemLevel
public void checkSystemLevel(String resourceTypeName, String code) throws FHIRSearchException
check system level searches with DESC/ASC are ONLY with _id and _lastUpdated- Parameters:
resourceTypeName
- one of the FHIR Resources, and must be a non-null valuecode
- the code to check.- Throws:
FHIRSearchException
-
buildNewInvalidSearchExceptionMessage
public final String buildNewInvalidSearchExceptionMessage(String sortParmCode)
builds exception message when the sort parameter used is undefined.- Parameters:
sortParmCode
- the code that is passed in- Returns:
- String representing the exception message
-
buildUndefinedSortParamMessage
public final String buildUndefinedSortParamMessage(String resourceTypeName, String sortParmCode)
builds exception message when the sort parameter used is undefined.- Parameters:
resourceTypeName
- the specific FHIR Resource passed in or general RESOURCEsortParmCode
- the code that is passed in- Returns:
- String representing the exception message
-
-