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

io.mapsmessaging.storage.impl.file.PartitionStorageConfig Maven / Gradle / Ivy

/*
 *   Copyright [2020 - 2022]   [Matthew Buckton]
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 *
 */

package io.mapsmessaging.storage.impl.file;

import io.mapsmessaging.storage.ExpiredStorableHandler;
import io.mapsmessaging.storage.Storable;
import io.mapsmessaging.storage.StorableFactory;
import lombok.Getter;
import lombok.Setter;

public class PartitionStorageConfig {

  @Getter
  @Setter
  private String fileName;

  @Getter
  @Setter
  private StorableFactory storableFactory;

  @Getter
  @Setter
  private ExpiredStorableHandler expiredHandler;

  @Getter
  @Setter
  private boolean sync;

  @Getter
  @Setter
  private int itemCount;

  @Getter
  @Setter
  private long maxPartitionSize;

  @Getter
  @Setter
  private int expiredEventPoll;

  @Getter
  @Setter
  private TaskQueue taskQueue;

  @Getter
  @Setter
  private String archiveName = "None";

  @Getter
  @Setter
  private long archiveIdleTime = -1;

  @Getter
  @Setter
  private boolean s3Compression;

  @Getter
  @Setter
  private String s3AccessKeyId;

  @Getter
  @Setter
  private String s3SecretAccessKey;

  @Getter
  @Setter
  private String s3RegionName;

  @Getter
  @Setter
  private String s3BucketName;

  @Getter
  @Setter
  private String migrationDestination;

  @Getter
  @Setter
  private String digestName = "";

  public PartitionStorageConfig(){
    // Default constructor
  }


  public PartitionStorageConfig(PartitionStorageConfig lhs){
    this.fileName = lhs.getFileName();
    this.storableFactory = lhs.storableFactory;
    this.sync = lhs.isSync();
    this.expiredHandler = lhs.expiredHandler;
    this.itemCount = lhs.itemCount;
    this.maxPartitionSize = lhs.maxPartitionSize;
    this.expiredEventPoll = lhs.expiredEventPoll;
    this.taskQueue = lhs.taskQueue;
    this.archiveName = lhs.archiveName;
    this.archiveIdleTime = lhs.archiveIdleTime;
    this.s3Compression = lhs.s3Compression;
    this.s3AccessKeyId = lhs.s3AccessKeyId;
    this.s3SecretAccessKey = lhs.s3SecretAccessKey;
    this.s3RegionName = lhs.s3RegionName;
    this.s3BucketName = lhs.s3BucketName;
    this.migrationDestination = lhs.migrationDestination;
    this.digestName = lhs.digestName;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy