From e01e6d75d5667a723b6aebd0abfebe323514f7fa Mon Sep 17 00:00:00 2001
From: Kai Reinhard <K.Reinhard@micromata.de>
Date: Sat, 08 Dec 2018 21:45:41 +0000
Subject: [PATCH] refactoring...
---
borgbutler-core/src/main/java/de/micromata/borgbutler/cache/AbstractCache.java | 22 +++++++++++++++++++---
1 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/AbstractCache.java b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/AbstractCache.java
index 840be70..0b70220 100644
--- a/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/AbstractCache.java
+++ b/borgbutler-core/src/main/java/de/micromata/borgbutler/cache/AbstractCache.java
@@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import de.micromata.borgbutler.json.JsonUtils;
+import de.micromata.borgbutler.json.borg.RepositoryMatcher;
import lombok.Getter;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.FilenameUtils;
@@ -38,11 +39,26 @@
return null;
}
- public abstract boolean matches(T element, String identifier);
+ public boolean matches(T element, String identifier) {
+ if (!(element instanceof RepositoryMatcher)) {
+ throw new UnsupportedOperationException("matches not implemented, only available for RepositoryMatcher: " + this.getClass());
+ }
+ return ((RepositoryMatcher) element).matches(identifier);
+ }
- public abstract String getIdentifier(T element);
+ public String getIdentifier(T element) {
+ if (!(element instanceof RepositoryMatcher)) {
+ throw new UnsupportedOperationException("matches not implemented, only available for RepositoryMatcher: " + this.getClass());
+ }
+ return ((RepositoryMatcher)element).getRepository().getId();
+ }
- public abstract void updateFrom(T dest, T source);
+ public void updateFrom(T dest, T source) {
+ if (!(dest instanceof RepositoryMatcher)) {
+ throw new UnsupportedOperationException("matches not implemented, only available for RepositoryMatcher: " + this.getClass());
+ }
+ ((RepositoryMatcher)dest).updateFrom(((RepositoryMatcher)source));
+ }
/**
* Removes all entries (doesn't effect the cache files!).
--
Gitblit v1.10.0