All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.dsf.fhir.dao.command.Command Maven / Gradle / Ivy

package dev.dsf.fhir.dao.command;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.Map;
import java.util.Optional;

import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent;
import org.hl7.fhir.r4.model.IdType;

import dev.dsf.common.auth.conf.Identity;
import dev.dsf.fhir.event.EventHandler;
import dev.dsf.fhir.validation.SnapshotGenerator;
import jakarta.ws.rs.WebApplicationException;

public interface Command
{
	String URL_UUID_PREFIX = "urn:uuid:";

	int getIndex();

	int getTransactionPriority();

	default void preExecute(Map idTranslationTable, Connection connection,
			ValidationHelper validationHelper, SnapshotGenerator snapshotGenerator)

	{
	}

	void execute(Map idTranslationTable, Connection connection, ValidationHelper validationHelper,
			SnapshotGenerator snapshotGenerator) throws SQLException, WebApplicationException;

	default Optional postExecute(Connection connection, EventHandler eventHandler)
	{
		return Optional.empty();
	}

	Identity getIdentity();

	String getResourceTypeName();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy