From 3465f1852bbaf4e0543404eb5788db4d0230fd05 Mon Sep 17 00:00:00 2001 From: jim Date: Mon, 16 Jul 2018 12:47:56 +0200 Subject: [PATCH] requriments dellete and new --- .../dsa/characters/Character.java | 4 +- .../dsa/requirements/Requirement.java | 77 +------------------ .../requirements/RequirementCheckResult.java | 43 ----------- .../dsa/requirements/RequirementLink.java | 5 -- 4 files changed, 4 insertions(+), 125 deletions(-) delete mode 100644 src/de/banananetwork/dsa/requirements/RequirementCheckResult.java delete mode 100644 src/de/banananetwork/dsa/requirements/RequirementLink.java diff --git a/src/de/banananetwork/dsa/characters/Character.java b/src/de/banananetwork/dsa/characters/Character.java index 2f6dc32..1ab7914 100644 --- a/src/de/banananetwork/dsa/characters/Character.java +++ b/src/de/banananetwork/dsa/characters/Character.java @@ -1,8 +1,8 @@ package de.banananetwork.dsa.characters; import de.banananetwork.dsa.Regulations; +import de.banananetwork.dsa.aspects.Aspect; import de.banananetwork.dsa.cultures.Culture; -import de.banananetwork.dsa.modifications.Modification; import de.banananetwork.dsa.professions.Profession; import de.banananetwork.dsa.species.Species; @@ -17,7 +17,7 @@ public class Character { Species species; Culture culture; Profession profession; - List modifications; + List modifications; // TODO Skills // TODO Zauber // TODO Liturgen diff --git a/src/de/banananetwork/dsa/requirements/Requirement.java b/src/de/banananetwork/dsa/requirements/Requirement.java index ee43ce0..e6119a5 100644 --- a/src/de/banananetwork/dsa/requirements/Requirement.java +++ b/src/de/banananetwork/dsa/requirements/Requirement.java @@ -1,78 +1,5 @@ package de.banananetwork.dsa.requirements; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; -import java.util.function.Supplier; - -public abstract class Requirement { - - public abstract RequirementCheckResult checkOn(Character character); - - private static class SingleRequirement extends Requirement { - - - } - - private static class CombinedRequirement extends Requirement { - - private final RequirementLink requirementLink; - private final Requirement[] requirements; - - private CombinedRequirement(RequirementLink requirementLink, Requirement[] requirements) { - this.requirementLink = requirementLink; - this.requirements = requirements; - } - - @Override - public RequirementCheckResult checkOn(Character character) { - return null; - } - - } - - public static class Builder { - - private final List> requirements = new ArrayList<>(); - private RequirementLink requirementLink; - - public Builder(RequirementLink requirementLink) { - this.requirementLink = requirementLink; - } - - Builder add(Supplier requirementSupplier) { - this.requirements.add(requirementSupplier); - return this; - } - - public Builder add(Requirement requirement) { - return this.add(() -> requirement); - } - - public Builder add(Builder requirement) { - return this.add(requirement::create); - } - - private Builder addAll(Collection> requirements) { - this.requirements.addAll(requirements); - return this; - } - - public Builder addAll(Builder requirements) { - return this.addAll(requirements.requirements); - } - - private Requirement create() { - switch (this.requirements.size()) { - case 0: - throw new IllegalStateException(); - case 1: - return this.requirements.get(0).get(); - default: - return new CombinedRequirement(this.requirementLink, this.requirements.stream().map(Supplier::get).toArray(Requirement[]::new)); - } - } - - } - +public interface Requirement { + boolean checkCorrect(); } diff --git a/src/de/banananetwork/dsa/requirements/RequirementCheckResult.java b/src/de/banananetwork/dsa/requirements/RequirementCheckResult.java deleted file mode 100644 index e15b9ef..0000000 --- a/src/de/banananetwork/dsa/requirements/RequirementCheckResult.java +++ /dev/null @@ -1,43 +0,0 @@ -package de.banananetwork.dsa.requirements; - -public abstract class RequirementCheckResult { - - private final Requirement requirement; - - private RequirementCheckResult(Requirement requirement) { - this.requirement = requirement; - } - - public Requirement getRequirement() { - return requirement; - } - - public enum State { - - ACCEPTED(0), WARNING(1), ERROR(2); - - private final int priority; - - State(int priority) { - this.priority = priority; - } - - public State combine(State state) { - return state.priority > this.priority ? state : this; - } - - } - - private static class SingleResult extends RequirementCheckResult { - - - } - - private static class CombinedResult extends RequirementCheckResult { - - RequirementCheckResult[] results; - - - } - -} diff --git a/src/de/banananetwork/dsa/requirements/RequirementLink.java b/src/de/banananetwork/dsa/requirements/RequirementLink.java deleted file mode 100644 index 79a89b9..0000000 --- a/src/de/banananetwork/dsa/requirements/RequirementLink.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.banananetwork.dsa.requirements; - -public enum RequirementLink { - AND, OR -}