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 an 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 an instant value. If needed, this method will pad the TemporalAccessor and then interpret this value according to the default timezone of the system.- 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
-
-