From d13c559f26de001164ea8b26e28a5fab26b10274 Mon Sep 17 00:00:00 2001 From: iMoHax Date: Wed, 2 Nov 2016 16:40:13 +0300 Subject: [PATCH] add strong parameter to star system filter --- .../java/ru/trader/core/StarSystemFilter.java | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/ru/trader/core/StarSystemFilter.java b/core/src/main/java/ru/trader/core/StarSystemFilter.java index c341a01..29f78e9 100644 --- a/core/src/main/java/ru/trader/core/StarSystemFilter.java +++ b/core/src/main/java/ru/trader/core/StarSystemFilter.java @@ -14,14 +14,28 @@ public class StarSystemFilter { private final EnumSet factions; private final EnumSet governments; private final Collection excludes; + private boolean strong; public StarSystemFilter() { + this(false); + } + + public StarSystemFilter(boolean strong) { this.powers = EnumSet.noneOf(POWER.class); this.states = EnumSet.noneOf(POWER_STATE.class); this.factions = EnumSet.noneOf(FACTION.class); this.governments = EnumSet.noneOf(GOVERNMENT.class); this.excludes = new ArrayList<>(); this.distances = new ArrayList<>(); + this.strong = strong; + } + + public boolean isStrong() { + return strong; + } + + public void setStrong(boolean strong) { + this.strong = strong; } public Collection getDistanceFilters() { @@ -137,13 +151,13 @@ public class StarSystemFilter { } if (excludes.contains(starSystem)) return true; POWER power = starSystem.getPower(); - if (power != null && !powers.isEmpty() && !powers.contains(power)) return true; + if ((strong || power != null) && !powers.isEmpty() && !powers.contains(power)) return true; POWER_STATE state = starSystem.getPowerState(); - if (state != null && !states.isEmpty() && !states.contains(state)) return true; + if ((strong || state != null) && !states.isEmpty() && !states.contains(state)) return true; FACTION faction = starSystem.getFaction(); - if (faction != null && !factions.isEmpty() && !factions.contains(faction)) return true; + if ((strong || faction != null) && !factions.isEmpty() && !factions.contains(faction)) return true; GOVERNMENT government = starSystem.getGovernment(); - if (government != null && !governments.isEmpty() && !governments.contains(government)) return true; + if ((strong || government != null) && !governments.isEmpty() && !governments.contains(government)) return true; return false; }