
Package ca.uhn.fhir.jpa.binstore
Class FilesystemBinaryStorageSvcImpl
java.lang.Object
ca.uhn.fhir.jpa.binary.svc.BaseBinaryStorageSvcImpl
ca.uhn.fhir.jpa.binstore.FilesystemBinaryStorageSvcImpl
- All Implemented Interfaces:
IBinaryStorageSvc
-
Field Summary
Fields inherited from class ca.uhn.fhir.jpa.binary.svc.BaseBinaryStorageSvcImpl
BINARY_CONTENT_ID_PREFIX_APPLIED, DEFAULT_MAXIMUM_BINARY_SIZE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexpungeBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) byte[]fetchBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) Fetch the contents of the given blobfetchBinaryContentDetails(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) booleanisValidBinaryContentId(String theNewBinaryContentId) This implementation prevents: \ / | .storeBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobIdOrNull, String theContentType, InputStream theInputStream, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) Store a new binary blobbooleanwriteBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId, OutputStream theOutputStream) Methods inherited from class ca.uhn.fhir.jpa.binary.svc.BaseBinaryStorageSvcImpl
createCountingInputStream, createHashingInputStream, fetchDataByteArrayFromBinary, getMaximumBinarySize, getMinimumBinarySize, isBinaryContentIdPrefixApplied, newBinaryContentId, provideIdForNewBinaryContent, provideIdForNewBinaryContent, setBinaryContentIdPrefixApplied, setFhirContextForTests, setInterceptorBroadcasterForTests, setMaximumBinarySize, setMinimumBinarySize, shouldStoreBinaryContentMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ca.uhn.fhir.jpa.binary.api.IBinaryStorageSvc
storeBinaryContent
-
Constructor Details
-
FilesystemBinaryStorageSvcImpl
-
-
Method Details
-
isValidBinaryContentId
This implementation prevents: \ / | .- Specified by:
isValidBinaryContentIdin interfaceIBinaryStorageSvc- Overrides:
isValidBinaryContentIdin classBaseBinaryStorageSvcImpl- Parameters:
theNewBinaryContentId- the blob ID to validate- Returns:
- true if the blob ID is valid, false otherwise.
-
storeBinaryContent
@Nonnull public StoredDetails storeBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobIdOrNull, String theContentType, InputStream theInputStream, ca.uhn.fhir.rest.api.server.RequestDetails theRequestDetails) throws IOException Description copied from interface:IBinaryStorageSvcStore a new binary blob- Parameters:
theResourceId- The resource ID that owns this blob. Note that it should not be possible to retrieve a blob without both the resource ID and the blob ID being correct.theBlobIdOrNull- If set, forcestheContentType- The content type to associate with this blobtheInputStream- An InputStream to read from. This method should close the stream when it has been fully consumed.theRequestDetails- The operation request details.- Returns:
- Returns details about the stored data
- Throws:
IOException
-
fetchBinaryContentDetails
public StoredDetails fetchBinaryContentDetails(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) throws IOException - Throws:
IOException
-
writeBinaryContent
public boolean writeBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId, OutputStream theOutputStream) throws IOException - Returns:
- Returns
trueif the blob was found and written, offalseif the blob was not found (i.e. it was expunged or the ID was invalid) - Throws:
IOException
-
expungeBinaryContent
public void expungeBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) -
fetchBinaryContent
public byte[] fetchBinaryContent(org.hl7.fhir.instance.model.api.IIdType theResourceId, String theBlobId) throws IOException Description copied from interface:IBinaryStorageSvcFetch the contents of the given blob- Parameters:
theResourceId- The resource IDtheBlobId- The blob ID- Returns:
- The payload as a byte array
- Throws:
IOException
-