* ============LICENSE_END=========================================================
*/
-package org.onap.oom.truststoremerger.certification.file.provider;
+package org.onap.oom.truststoremerger.merger.model;
+import java.io.File;
import java.util.List;
import org.onap.oom.truststoremerger.api.ExitableException;
-import org.onap.oom.truststoremerger.certification.file.provider.entry.CertificateWithAlias;
+import org.onap.oom.truststoremerger.merger.exception.CreateBackupException;
+import org.onap.oom.truststoremerger.merger.model.certificate.CertificateWithAlias;
+import org.onap.oom.truststoremerger.common.BackupCreator;
-public interface CertificateController {
+public abstract class Truststore {
- List<CertificateWithAlias> getNotEmptyCertificateList() throws ExitableException;
+ final File storeFile;
- void addCertificates(List<CertificateWithAlias> certificates) throws ExitableException;
+ public Truststore(File storeFile) {
+ this.storeFile = storeFile;
+ }
- void saveFile() throws ExitableException;
+ public void createBackup() throws CreateBackupException {
+ BackupCreator.createBackup(storeFile);
+ }
+
+ public abstract List<CertificateWithAlias> getCertificates() throws ExitableException;
+
+ public abstract void addCertificates(List<CertificateWithAlias> certificates) throws ExitableException;
+
+ public abstract void saveFile() throws ExitableException;
}