Module org.elasticsearch.server
Class ChecksumBlobStoreFormat<T>
java.lang.Object
org.elasticsearch.repositories.blobstore.ChecksumBlobStoreFormat<T>
Snapshot metadata file format used in v2.0 and above
-
Field Summary
-
Constructor Summary
ConstructorDescriptionChecksumBlobStoreFormat
(String codec, String blobNameFormat, CheckedBiFunction<String, XContentParser, T, IOException> reader, Function<T, ? extends ToXContent> writer) ChecksumBlobStoreFormat
(String codec, String blobNameFormat, CheckedBiFunction<String, XContentParser, T, IOException> reader, CheckedBiFunction<String, XContentParser, T, IOException> fallbackReader, Function<T, ? extends ToXContent> writer) -
Method Summary
Modifier and TypeMethodDescriptiondeserialize
(String repoName, NamedXContentRegistry namedXContentRegistry, InputStream input) read
(String repoName, BlobContainer blobContainer, String name, NamedXContentRegistry namedXContentRegistry) Reads and parses the blob with given name, applying name translation using the {link #blobName} methodvoid
serialize
(T obj, String blobName, boolean compress, OutputStream outputStream) void
serialize
(T obj, String blobName, boolean compress, Map<String, String> extraParams, OutputStream outputStream) void
write
(T obj, BlobContainer blobContainer, String name, boolean compress) Writes blob with resolving the blob name usingblobName(java.lang.String)
method.void
write
(T obj, BlobContainer blobContainer, String name, boolean compress, Map<String, String> serializationParams) Writes blob with resolving the blob name usingblobName(java.lang.String)
method.
-
Field Details
-
SNAPSHOT_ONLY_FORMAT_PARAMS
-
VERSION
public static final int VERSION- See Also:
-
-
Constructor Details
-
ChecksumBlobStoreFormat
public ChecksumBlobStoreFormat(String codec, String blobNameFormat, CheckedBiFunction<String, XContentParser, T, IOException> reader, @Nullable CheckedBiFunction<String, XContentParser, T, IOException> fallbackReader, Function<T, ? extends ToXContent> writer) - Parameters:
codec
- codec nameblobNameFormat
- format of the blobname inString.format(java.lang.String, java.lang.Object...)
formatreader
- prototype object that can deserialize T from XContentfallbackReader
- fallback prototype object that can deserialize T from XContent in case reader failswriter
- function that maps the given type to aToXContent
for serialization
-
ChecksumBlobStoreFormat
public ChecksumBlobStoreFormat(String codec, String blobNameFormat, CheckedBiFunction<String, XContentParser, T, IOException> reader, Function<T, ? extends ToXContent> writer) - Parameters:
codec
- codec nameblobNameFormat
- format of the blobname inString.format(java.lang.String, java.lang.Object...)
formatreader
- prototype object that can deserialize T from XContentwriter
- function that maps the given type to aToXContent
for serialization
-
-
Method Details
-
read
public T read(String repoName, BlobContainer blobContainer, String name, NamedXContentRegistry namedXContentRegistry) throws IOException Reads and parses the blob with given name, applying name translation using the {link #blobName} method- Parameters:
blobContainer
- blob containername
- name to be translated into- Returns:
- parsed blob object
- Throws:
IOException
-
blobName
-
deserialize
public T deserialize(String repoName, NamedXContentRegistry namedXContentRegistry, InputStream input) throws IOException - Throws:
IOException
-
write
public void write(T obj, BlobContainer blobContainer, String name, boolean compress) throws IOException Writes blob with resolving the blob name usingblobName(java.lang.String)
method.The blob will optionally be compressed.
- Parameters:
obj
- object to be serializedblobContainer
- blob containername
- blob namecompress
- whether to use compression- Throws:
IOException
-
write
public void write(T obj, BlobContainer blobContainer, String name, boolean compress, Map<String, String> serializationParams) throws IOExceptionWrites blob with resolving the blob name usingblobName(java.lang.String)
method.The blob will optionally be compressed.
- Parameters:
obj
- object to be serializedblobContainer
- blob containername
- blob namecompress
- whether to use compressionserializationParams
- extra serialization parameters- Throws:
IOException
-
serialize
public void serialize(T obj, String blobName, boolean compress, OutputStream outputStream) throws IOException - Throws:
IOException
-
serialize
public void serialize(T obj, String blobName, boolean compress, Map<String, String> extraParams, OutputStream outputStream) throws IOException- Throws:
IOException
-