001package ca.uhn.fhir.rest.gclient;
002
003/*
004 * #%L
005 * HAPI FHIR - Core Library
006 * %%
007 * Copyright (C) 2014 - 2022 Smile CDR, Inc.
008 * %%
009 * Licensed under the Apache License, Version 2.0 (the "License");
010 * you may not use this file except in compliance with the License.
011 * You may obtain a copy of the License at
012 *
013 *      http://www.apache.org/licenses/LICENSE-2.0
014 *
015 * Unless required by applicable law or agreed to in writing, software
016 * distributed under the License is distributed on an "AS IS" BASIS,
017 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
018 * See the License for the specific language governing permissions and
019 * limitations under the License.
020 * #L%
021 */
022
023import ca.uhn.fhir.rest.param.DateRangeParam;
024import org.hl7.fhir.instance.model.api.IPrimitiveType;
025
026import java.util.Date;
027
028public interface IHistoryTyped<T> extends IClientExecutable<IHistoryTyped<T>, T> {
029
030        /**
031         * Request that the server return only the history elements between the
032         * specific range
033         */
034        IHistoryTyped<T> at(DateRangeParam theDateRangeParam);
035
036        /**
037         * Request that the server return only up to <code>theCount</code> number of resources
038         */
039        IHistoryTyped<T> count(Integer theCount);
040
041        /**
042         * Request that the server return only resource versions that were created at or after the given time (inclusive)
043         * <p>
044         * Parameter theCutoff can be any priitive type which accepts a date, such as
045         * a <code>DateTimeDt</code>, <code>InstantType</code>, etc.
046         * </p>
047         */
048        IHistoryTyped<T> since(IPrimitiveType<Date> theCutoff);
049
050        /**
051         * Request that the server return only resource versions that were created at or after the given time (inclusive)
052         */
053        IHistoryTyped<T> since(Date theCutoff);
054
055
056}