Sam Jaffe 8 роки тому
батько
коміт
61e10c51bc

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

@@ -11,6 +11,8 @@ import org.leumasjaffe.charsheet.model.magic.DDSpellbook;
 import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.observer.Observable;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -23,7 +25,7 @@ import lombok.experimental.FieldDefaults;
 @Data @AllArgsConstructor
 @EqualsAndHashCode(callSuper=false)
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
-public class DDCharacterClass extends Observable implements Comparable<DDCharacterClass>, Cloneable {
+public class DDCharacterClass extends Observable implements Comparable<DDCharacterClass> {
 	private static final class Reference {
 		DDClass base;
 		
@@ -64,23 +66,23 @@ public class DDCharacterClass extends Observable implements Comparable<DDCharact
 		return getName() + " " + getLevel();
 	}
 	
-	public int getSkillPoints() {
+	@JsonIgnore public int getSkillPoints() {
 		return name.base.getSkillPoints();
 	}
 
-	public int getBab() {
+	@JsonIgnore public int getBab() {
 		return name.base.getBab().getBonus(level.value());
 	}
 	
-	public int getFort() {
+	@JsonIgnore public int getFort() {
 		return name.base.getFort().getBonus(level.value());
 	}
 	
-	public int getRef() {
+	@JsonIgnore public int getRef() {
 		return name.base.getRef().getBonus(level.value());
 	}
 	
-	public int getWill() {
+	@JsonIgnore public int getWill() {
 		return name.base.getWill().getBonus(level.value());
 	}
 	
@@ -88,11 +90,11 @@ public class DDCharacterClass extends Observable implements Comparable<DDCharact
 		return name.base.isClassSkill(skill);
 	}
 
-	public DDClass getProto() {
+	@JsonIgnore public DDClass getProto() {
 		return name.base;
 	}
 	
-	public int getHighestSpellLevel() {
+	@JsonIgnore public int getHighestSpellLevel() {
 		return getHighestSpellLevel(getLevel().value());
 	}
 	

+ 5 - 0
src/main/lombok/org/leumasjaffe/charsheet/model/magic/DDSpell.java

@@ -13,6 +13,7 @@ import org.leumasjaffe.charsheet.model.magic.dimension.Target;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonValue;
 
 import lombok.AccessLevel;
 import lombok.Data;
@@ -87,6 +88,10 @@ public class DDSpell {
 		return classToLevel.get(clas);
 	}
 	
+	@JsonValue public String getName() {
+		return this.name;
+	}
+	
 	@JsonCreator public static DDSpell fromString(String str) { 
 		return DDSpellFactory.loadSpell(str);
 	}

+ 2 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/magic/DDSpellbook.java

@@ -6,6 +6,7 @@ import java.util.List;
 import org.leumasjaffe.charsheet.model.observable.IntValue;
 import org.leumasjaffe.observer.Observable;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
 import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
 
@@ -20,7 +21,7 @@ public abstract class DDSpellbook extends Observable {
 
 	public boolean learnsSpells() { return false; }
 	public boolean preparesSpells() { return false; }
-	public IntValue getSharedAllowedSlots() {
+	@JsonIgnore public IntValue getSharedAllowedSlots() {
 		return new IntValue(-1);
 	}
 	

+ 9 - 2
src/main/lombok/org/leumasjaffe/charsheet/model/magic/impl/Inspired.java

@@ -8,16 +8,19 @@ import java.util.Map;
 import org.leumasjaffe.charsheet.model.DDClass;
 import org.leumasjaffe.charsheet.model.magic.DDSpell;
 
+import com.fasterxml.jackson.annotation.JsonValue;
+
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 import lombok.NonNull;
 import lombok.experimental.FieldDefaults;
 import lombok.experimental.NonFinal;
 
-@AllArgsConstructor
+@AllArgsConstructor @Getter
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 public class Inspired extends Prepared {
-	@AllArgsConstructor
+	@AllArgsConstructor @Getter
 	@FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 	private static class Level {
 		Level() { this(Collections.emptyList(), Collections.emptyList(), 0); }
@@ -31,6 +34,10 @@ public class Inspired extends Prepared {
 		public ClassReference(String name) {
 			this.ref = DDClass.getFromResource(name);
 		}
+		
+		@JsonValue public String getName() {
+			return ref.getName();
+		}
 	}
 	
 	@NonNull Map<Integer, Inspired.Level> spellInfo;

+ 11 - 3
src/main/lombok/org/leumasjaffe/charsheet/model/magic/impl/Researched.java

@@ -10,16 +10,20 @@ import org.leumasjaffe.charsheet.model.DDClass;
 import org.leumasjaffe.charsheet.model.magic.DDSpell;
 import org.leumasjaffe.charsheet.model.observable.IntValue;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonValue;
+
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 import lombok.NonNull;
 import lombok.experimental.FieldDefaults;
 import lombok.experimental.NonFinal;
 
-@AllArgsConstructor
+@AllArgsConstructor @Getter
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 public class Researched extends Prepared {
-	@AllArgsConstructor
+	@AllArgsConstructor @Getter
 	@FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 	private static class Level {
 		@NonNull Collection<DDSpell> spellsKnown;
@@ -33,6 +37,10 @@ public class Researched extends Prepared {
 		public ClassReference(String name) {
 			this.ref = DDClass.getFromResource(name);
 		}
+		
+		@JsonValue public String getName() {
+			return ref.getName();
+		}
 	}
 
 	int freeSpellsPerLevel;
@@ -40,7 +48,7 @@ public class Researched extends Prepared {
 	@NonNull ClassReference classRef;
 
 	@Override
-	public IntValue getSharedAllowedSlots() {
+	@JsonIgnore public IntValue getSharedAllowedSlots() {
 		return new IntValue(freeSpellsPerLevel);
 	}
 

+ 2 - 1
src/main/lombok/org/leumasjaffe/charsheet/model/magic/impl/Spontaneous.java

@@ -11,11 +11,12 @@ import org.leumasjaffe.charsheet.model.magic.DDSpellbook;
 
 import lombok.AccessLevel;
 import lombok.AllArgsConstructor;
+import lombok.Getter;
 import lombok.NonNull;
 import lombok.experimental.FieldDefaults;
 import lombok.experimental.NonFinal;
 
-@AllArgsConstructor
+@AllArgsConstructor @Getter
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 public class Spontaneous extends DDSpellbook {
 	@AllArgsConstructor