Class AbstractReferenceParameter<R extends org.hl7.fhir.r4.model.DomainResource>
java.lang.Object
dev.dsf.fhir.search.parameters.basic.AbstractSearchParameter<R>
dev.dsf.fhir.search.parameters.basic.AbstractReferenceParameter<R>
- All Implemented Interfaces:
MatcherParameter,SearchQuerySortParameter,SearchQueryIncludeParameter<R>,SearchQueryParameter<R>
- Direct Known Subclasses:
AbstractCanonicalReferenceParameter,EndpointOrganization,OrganizationAffiliationEndpoint,OrganizationAffiliationParticipatingOrganization,OrganizationAffiliationPrimaryOrganization,OrganizationEndpoint,PractitionerRoleOrganization,PractitionerRolePractitioner,QuestionnaireResponseSubject,ResearchStudyEnrollment,ResearchStudyPrincipalInvestigator,TaskRequester
public abstract class AbstractReferenceParameter<R extends org.hl7.fhir.r4.model.DomainResource>
extends AbstractSearchParameter<R>
implements SearchQueryIncludeParameter<R>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enumprotected static classNested classes/interfaces inherited from interface dev.dsf.fhir.search.SearchQueryParameter
SearchQueryParameter.SearchParameterDefinition -
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class dev.dsf.fhir.search.parameters.basic.AbstractSearchParameter
parameterName, resourceType -
Constructor Summary
ConstructorsConstructorDescriptionAbstractReferenceParameter(Class<R> resourceType, String parameterName, String... targetResourceTypeNames) -
Method Summary
Modifier and TypeMethodDescriptionconfigureInclude(List<? super SearchQueryParameterError> errors, String queryParameterIncludeValue) protected voiddoConfigure(List<? super SearchQueryParameterError> errors, String queryParameterName, String queryParameterValue) protected abstract voiddoResolveReferencesForMatching(R resource, DaoProvider daoProvider) Only called ifSearchQueryParameter.isDefined()returnstrueOnly called ifSearchQueryParameter.isDefined()returnstrueprotected abstract StringgetIncludeSql(IncludeParts includeParts) booleanprotected abstract voidmodifyIncludeResource(IncludeParts includeParts, org.hl7.fhir.r4.model.Resource resource, Connection connection) Use this method to modify the include resources.voidresolveReferencesForMatching(org.hl7.fhir.r4.model.Resource resource, DaoProvider daoProvider) Methods inherited from class dev.dsf.fhir.search.parameters.basic.AbstractSearchParameter
configure, configureSort, getParameterName, getSortSql, matches, notDefined, resourceMatchesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface dev.dsf.fhir.search.SearchQueryParameter
getFilterQuery, getSqlParameterCount, modifyStatement
-
Field Details
-
valueAndType
-
-
Constructor Details
-
AbstractReferenceParameter
-
-
Method Details
-
getNameModifiers
-
doConfigure
protected void doConfigure(List<? super SearchQueryParameterError> errors, String queryParameterName, String queryParameterValue) - Specified by:
doConfigurein classAbstractSearchParameter<R extends org.hl7.fhir.r4.model.DomainResource>
-
isDefined
public boolean isDefined()- Specified by:
isDefinedin interfaceSearchQueryParameter<R extends org.hl7.fhir.r4.model.DomainResource>
-
getBundleUriQueryParameterName
Description copied from interface:SearchQueryParameterOnly called ifSearchQueryParameter.isDefined()returnstrue- Specified by:
getBundleUriQueryParameterNamein interfaceSearchQueryParameter<R extends org.hl7.fhir.r4.model.DomainResource>- Returns:
- not
null, not blank
-
getBundleUriQueryParameterValue
Description copied from interface:SearchQueryParameterOnly called ifSearchQueryParameter.isDefined()returnstrue- Specified by:
getBundleUriQueryParameterValuein interfaceSearchQueryParameter<R extends org.hl7.fhir.r4.model.DomainResource>- Returns:
- not
null, not blank
-
resolveReferencesForMatching
public void resolveReferencesForMatching(org.hl7.fhir.r4.model.Resource resource, DaoProvider daoProvider) throws SQLException - Specified by:
resolveReferencesForMatchingin interfaceMatcherParameter- Throws:
SQLException
-
doResolveReferencesForMatching
protected abstract void doResolveReferencesForMatching(R resource, DaoProvider daoProvider) throws SQLException - Throws:
SQLException
-
configureInclude
public SearchQueryIncludeParameterConfiguration configureInclude(List<? super SearchQueryParameterError> errors, String queryParameterIncludeValue) - Specified by:
configureIncludein interfaceSearchQueryIncludeParameter<R extends org.hl7.fhir.r4.model.DomainResource>- Parameters:
errors- notnullqueryParameterIncludeValue- notnull, not blank- Returns:
-
getIncludeSql
-
modifyIncludeResource
protected abstract void modifyIncludeResource(IncludeParts includeParts, org.hl7.fhir.r4.model.Resource resource, Connection connection) Use this method to modify the include resources. This method can be used if the resources returned by the include SQL are not complete and additional content needs to be retrieved from a not included column. For example the content of aBinaryresource might not be stored in the json column.- Parameters:
includeParts- notnullresource- notnullconnection- notnull
-