Browse Source

Change to check appliesTo for general object types, instead of Strings.
Marking value as deprecated.

Sam Jaffe 8 năm trước cách đây
mục cha
commit
3d4ddd01e1

+ 1 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/DDCharacter.java

@@ -98,7 +98,7 @@ public class DDCharacter extends Observable {
 		return classes.stream().map(DDCharacterClass::getLevel).mapToInt(IntValue::value).sum();
 	}
 	
-	public List<DDProperty> getFeatureBonuses(String appliesScope) {
+	public List<DDProperty> getFeatureBonuses(Object appliesScope) {
 		return Stream.concat(feats.stream().flatMap(f -> f.getProperties().stream())
 				.filter(f -> f.appliesTo(appliesScope)),
 				classes.stream().flatMap(cl -> cl.getFeatureBonuses(appliesScope).stream()))

+ 1 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/DDCharacterClass.java

@@ -98,7 +98,7 @@ public class DDCharacterClass extends Observable implements Comparable<DDCharact
 		return getName().compareTo(o.getName());
 	}
 
-	public List<DDProperty> getFeatureBonuses(String appliesScope) {
+	public List<DDProperty> getFeatureBonuses(Object appliesScope) {
 		return IntStream.rangeClosed(1, level.value())
 				.mapToObj(level -> name.base.getFeatures(level).stream())
 				.reduce(Stream.empty(), (l, r) -> Stream.concat(l, r))

+ 2 - 2
src/main/lombok/org/leumasjaffe/charsheet/model/features/DDProperty.java

@@ -8,6 +8,6 @@ public interface DDProperty {
 	public enum Group {
 		NONE
 	}
-	boolean appliesTo(String key);
-	<T> T value();
+	boolean appliesTo(Object key);
+	@Deprecated <T> T value();
 }

+ 2 - 3
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/Flat.java

@@ -12,12 +12,11 @@ public class Flat implements DDProperty {
 	int value;
 	
 	@Override
-	public boolean appliesTo(String key) {
+	public boolean appliesTo(Object key) {
 		return applies.accepts(key);
 	}
 
-	@SuppressWarnings("unchecked")
-	@Override
+	@Override @SuppressWarnings("unchecked")
 	public Object value() {
 		return this.value;
 	}

+ 2 - 3
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/PerSpellLevel.java

@@ -12,12 +12,11 @@ public class PerSpellLevel implements DDProperty {
 	int value;
 	
 	@Override
-	public boolean appliesTo(String key) {
+	public boolean appliesTo(Object key) {
 		return applies.accepts(key);
 	}
 
-	@SuppressWarnings("unchecked")
-	@Override
+	@Override @SuppressWarnings("unchecked")
 	public Object value() {
 		return this.value; // TODO consume spell level information
 	}

+ 1 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/features/impl/Simple.java

@@ -7,6 +7,6 @@ import lombok.AllArgsConstructor;
 @AllArgsConstructor
 public class Simple implements DDProperty {
 	String name;
-	@Override public boolean appliesTo(String key) { return false; }
+	@Override public boolean appliesTo(Object key) { return false; }
 	@Override public <T> T value() { return null; }
 }