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

io.camunda.zeebe.snapshots.impl.InvalidSnapshotChecksum Maven / Gradle / Ivy

There is a newer version: 8.7.0-alpha2-rc1
Show newest version
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH under
 * one or more contributor license agreements. See the NOTICE file distributed
 * with this work for additional information regarding copyright ownership.
 * Licensed under the Camunda License 1.0. You may not use this file
 * except in compliance with the Camunda License 1.0.
 */
package io.camunda.zeebe.snapshots.impl;

import io.camunda.zeebe.util.exception.UnrecoverableException;
import java.nio.file.Path;

@SuppressWarnings("unused")
public final class InvalidSnapshotChecksum extends UnrecoverableException {
  private static final String MESSAGE_FORMAT =
      "Expected snapshot %s to have checksum %d, but was %d";
  private final transient Path snapshotPath;
  private final long expectedChecksum;
  private final long actualChecksum;

  public InvalidSnapshotChecksum(
      final Path snapshotPath, final long expectedChecksum, final long actualChecksum) {
    super(String.format(MESSAGE_FORMAT, snapshotPath, expectedChecksum, actualChecksum));

    this.snapshotPath = snapshotPath;
    this.expectedChecksum = expectedChecksum;
    this.actualChecksum = actualChecksum;
  }

  public InvalidSnapshotChecksum(
      final Throwable cause,
      final Path snapshotPath,
      final long expectedChecksum,
      final long actualChecksum) {
    super(String.format(MESSAGE_FORMAT, snapshotPath, expectedChecksum, actualChecksum), cause);

    this.snapshotPath = snapshotPath;
    this.expectedChecksum = expectedChecksum;
    this.actualChecksum = actualChecksum;
  }

  public Path getSnapshotPath() {
    return snapshotPath;
  }

  public long getExpectedChecksum() {
    return expectedChecksum;
  }

  public long getActualChecksum() {
    return actualChecksum;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy