![JAR search and dependency download from the Maven repository](/logo.png)
dev.dsf.fhir.search.SearchQueryParameter Maven / Gradle / Ivy
package dev.dsf.fhir.search;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.sql.Array;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import org.hl7.fhir.r4.model.Enumerations.SearchParamType;
import org.hl7.fhir.r4.model.Resource;
import dev.dsf.fhir.function.BiFunctionWithSqlException;
import dev.dsf.fhir.search.parameters.SearchQuerySortParameter;
public interface SearchQueryParameter extends MatcherParameter, SearchQuerySortParameter
{
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@interface SearchParameterDefinition
{
String name();
String definition();
SearchParamType type();
String documentation();
}
/**
* @param errors
* not null
* @param queryParameterName
* not null
and not blank
* @param queryParameterValue
* not null
and not blank
* @return the current instance
*/
SearchQueryParameter configure(List super SearchQueryParameterError> errors, String queryParameterName,
String queryParameterValue);
boolean isDefined();
String getFilterQuery();
int getSqlParameterCount();
void modifyStatement(int parameterIndex, int subqueryParameterIndex, PreparedStatement statement,
BiFunctionWithSqlException arrayCreator) throws SQLException;
/**
* Only called if {@link #isDefined()} returns true
*
* @return not null
, not blank
*/
String getBundleUriQueryParameterName();
/**
* Only called if {@link #isDefined()} returns true
*
* @return not null
, not blank
*/
String getBundleUriQueryParameterValue();
String getParameterName();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy