Package com.ibm.fhir.search.date
Class DateTimeHandler
- java.lang.Object
 - 
- com.ibm.fhir.search.date.DateTimeHandler
 
 
- 
public class DateTimeHandler extends Object
Date Time Handler
Date Time Formatter 
- 
- 
Constructor Summary
Constructors Constructor Description DateTimeHandler() 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static InstantgenerateLowerBound(SearchConstants.Prefix prefix, TemporalAccessor value, String originalString)generate lower boundsstatic InstantgenerateLowerBoundApproximation(Instant now, Instant cur)Calculates a lower bound absolutely.static TimestampgenerateTimestamp(Instant inst)static InstantgenerateUpperBound(Date value)convenience method to generate upper bound for a Date value.static InstantgenerateUpperBound(DateTime value)convenience method to generate upper bound for a DateTime value.static InstantgenerateUpperBound(SearchConstants.Prefix prefix, TemporalAccessor value, String originalString)generate upper boundsstatic InstantgenerateUpperBoundApproximation(Instant now, Instant cur)Calculates a lower bound absolutely.static InstantgenerateValue(TemporalAccessor value)common code to generate instant value.static InstantgenerateValue(TemporalAccessor value, String originalString)static voidparse(SearchConstants.Prefix prefix, QueryParameterValue parameterValue, String v)parses the value into a set of bounds/value and adds to parameter value.static TemporalAccessorparse(String value)Parses the value into a set of bounds/value and adds to parameter value.static TemporalAccessorparseQuiet(String value)Parses quiet the value into a set of bounds/value and adds to parameter value.static Stringserialize(TemporalAccessor value)Serializer encapsulates the logic to serialize to string. 
 - 
 
- 
- 
Method Detail
- 
generateLowerBoundApproximation
public static Instant generateLowerBoundApproximation(Instant now, Instant cur)
Calculates a lower bound absolutely. No matter if the time is AFTER the current time.- Parameters:
 now- the instant representing "now"...the now to compare against for computing the "approximation" rangecur- the search parameter value instant- Returns:
 
 
- 
generateLowerBound
public static Instant generateLowerBound(SearchConstants.Prefix prefix, TemporalAccessor value, String originalString)
generate lower bounds- Parameters:
 prefix-value-originalString-- Returns:
 
 
- 
generateValue
public static Instant generateValue(TemporalAccessor value, String originalString)
 
- 
generateValue
public static Instant generateValue(TemporalAccessor value)
common code to generate instant value.- Parameters:
 value-- Returns:
 
 
- 
generateUpperBound
public static Instant generateUpperBound(DateTime value)
convenience method to generate upper bound for a DateTime value.- Parameters:
 value-- Returns:
 
 
- 
generateUpperBound
public static Instant generateUpperBound(Date value)
convenience method to generate upper bound for a Date value.- Parameters:
 value-- Returns:
 
 
- 
generateUpperBound
public static Instant generateUpperBound(SearchConstants.Prefix prefix, TemporalAccessor value, String originalString)
generate upper bounds- Parameters:
 prefix-value-originalString-- Returns:
 
 
- 
generateUpperBoundApproximation
public static Instant generateUpperBoundApproximation(Instant now, Instant cur)
Calculates a lower bound absolutely. No matter if the time is AFTER the current time.- Parameters:
 now-cur-- Returns:
 
 
- 
serialize
public static String serialize(TemporalAccessor value)
Serializer encapsulates the logic to serialize to string. 
- 
parse
public static void parse(SearchConstants.Prefix prefix, QueryParameterValue parameterValue, String v) throws FHIRSearchException
parses the value into a set of bounds/value and adds to parameter value.- Parameters:
 prefix-parameterValue-v-- Throws:
 FHIRSearchException
 
- 
parse
public static TemporalAccessor parse(String value) throws FHIRSearchException
Parses the value into a set of bounds/value and adds to parameter value. The value will be truncated to a microsecond precision after being parsed.- Parameters:
 value- The date/time value to be parsed- Returns:
 - A 
TemporalAccessorobject representing the parsed and truncated date/time value - Throws:
 FHIRSearchException
 
- 
parseQuiet
public static TemporalAccessor parseQuiet(String value)
Parses quiet the value into a set of bounds/value and adds to parameter value. The value will be truncated to a microsecond precision after being parsed.- Parameters:
 value- The date/time value to be parsed- Returns:
 - A 
TemporalAccessorobject representing the parsed and truncated date/time value, or null if the value could not be parsed successfully 
 
 - 
 
 -