Changeset 84 for java/main/src/main/java/com/framsticks/params/types
- Timestamp:
- 06/22/13 21:51:33 (11 years ago)
- Location:
- java/main
- Files:
-
- 1 added
- 2 deleted
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main
-
Property
svn:ignore
set to
target
-
Property
svn:ignore
set to
-
java/main/src/main/java/com/framsticks/params/types/ArrayListParam.java
r77 r84 4 4 import com.framsticks.params.ArrayListAccess; 5 5 import com.framsticks.params.CastFailure; 6 import com.framsticks.util.Casting; 7 import com.framsticks.util.Containers; 8 import com.framsticks.util.Numbers; 6 import com.framsticks.params.ReassignResult; 7 import com.framsticks.util.lang.Casting; 8 import com.framsticks.util.lang.Containers; 9 import com.framsticks.util.lang.Numbers; 9 10 10 11 import java.util.ArrayList; … … 16 17 public class ArrayListParam extends ListParam { 17 18 18 19 20 19 public ArrayListParam(String containedTypeName) { 20 super(containedTypeName); 21 } 21 22 22 23 23 24 public ClassgetStorageType() {25 26 24 @Override 25 public Class<?> getStorageType() { 26 return List.class; 27 } 27 28 28 29 30 31 29 @Override 30 public AccessInterface prepareAccessInterface(AccessInterface access) { 31 return new ArrayListAccess(access); 32 } 32 33 33 34 35 36 34 @Override 35 public String computeAccessId() { 36 return "l " + containedTypeName; 37 } 37 38 38 39 public Objectreassign(Object newValue, Object oldValue) throws CastFailure {40 41 42 43 44 45 46 Listlist;47 48 list = new ArrayList();49 50 51 52 53 54 55 56 return list;57 58 59 return oldValue;60 61 return newValue;62 39 @Override 40 public ReassignResult<List<?>> reassign(Object newValue, Object oldValue) throws CastFailure { 41 if (newValue == null) { 42 throw new CastFailure(); 43 } 44 Integer size = Numbers.cast(newValue, Integer.class); 45 if (size != null) { 46 //return oldValue; 47 List<?> list; 48 if (oldValue == null) { 49 list = new ArrayList<Object>(); 50 } else { 51 list = Casting.tryCast(List.class, oldValue); 52 if (list == null) { 53 throw new CastFailure(); 54 } 55 } 56 Containers.resizeList(list, size); 57 return new ReassignResult<List<?>>(list); 58 } 59 if (oldValue != null) { 60 return new ReassignResult<List<?>>(Casting.throwCast(List.class, oldValue)); 61 } 62 return new ReassignResult<List<?>>(Casting.throwCast(List.class, newValue)); 63 } 63 64 64 65 public String getType() {66 67 65 @Override 66 public String getFramsTypeName() { 67 return "l " + getContainedTypeName(); 68 } 68 69 } -
java/main/src/main/java/com/framsticks/params/types/BinaryParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.util.Numbers; 4 import com.framsticks.params.PrimitiveParam; 5 import com.framsticks.params.ReassignResult; 6 import com.framsticks.util.lang.Numbers; 5 7 6 8 /** 7 9 * @author Piotr Sniegowski 8 10 */ 9 public class BinaryParam extends ValueParam { 11 public class BinaryParam extends PrimitiveParam { 12 10 13 @Override 11 public Class getStorageType() {14 public Class<?> getStorageType() { 12 15 return Integer.class; 13 16 } 14 17 15 16 public String getType() {17 18 18 @Override 19 public String getFramsTypeName() { 20 return "db"; 21 } 19 22 20 @Override 21 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 22 if (newValue instanceof String) { 23 Integer v = Numbers.parse((String) newValue, Integer.class); 24 if (v != null) { 25 return v; 26 } 27 throw new CastFailure(); 28 } 29 return super.reassign(newValue, oldValue); 30 } 23 @Override 24 public ReassignResult<?> reassign(Object newValue, Object oldValue) throws CastFailure { 25 if (newValue instanceof String) { 26 Integer v = Numbers.parse((String) newValue, Integer.class); 27 if (v != null) { 28 return ReassignResult.create(v); 29 } 30 throw new CastFailure(); 31 } 32 if (newValue instanceof Integer) { 33 return ReassignResult.create((Integer) newValue); 34 } 35 throw new CastFailure(); 36 } 31 37 32 38 } -
java/main/src/main/java/com/framsticks/params/types/BooleanParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.PrimitiveParam; 5 import com.framsticks.params.ReassignResult; 4 6 import com.framsticks.params.SinkInterface; 7 import com.framsticks.util.lang.Numbers; 5 8 6 9 /** 7 10 * @author Piotr Sniegowski 8 11 */ 9 public class BooleanParam extends DecimalParam { 10 @Override 11 public Class getStorageType() { 12 return Boolean.class; 13 } 12 public class BooleanParam extends PrimitiveParam { 14 13 15 @Override 16 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 14 public BooleanParam() { 15 def = false; 16 } 17 18 @Override 19 public Class<?> getStorageType() { 20 return Boolean.class; 21 } 22 23 @Override 24 public ReassignResult<Boolean> reassign(Object newValue, Object oldValue) throws CastFailure { 17 25 if (newValue instanceof Boolean) { 18 return newValue;26 return ReassignResult.create((Boolean) newValue); 19 27 } 20 Object casted = super.reassign(newValue, oldValue); 21 if (casted instanceof Integer) { 22 Integer i = (Integer)casted; 23 if (i == 0) return false; 24 if (i == 1) return true; 25 throw new CastFailure(); 26 } 27 /* 28 if (newValue instanceof String) { 29 if (newValue.equals("true")) return true; 30 if (newValue.equals("false")) return false; 31 throw new CastFailure(); 32 } 33 */ 34 throw new CastFailure(); 35 } 28 if (newValue instanceof Integer) { 29 return ReassignResult.create(((Integer) newValue) != 0); 30 } 31 if (newValue instanceof String) { 32 if ("true".equals(newValue)) { 33 return ReassignResult.create(true); 34 } 35 if ("false".equals(newValue)) { 36 return ReassignResult.create(false); 37 } 38 Integer i = Numbers.cast(newValue, Integer.class); 39 if (i != null) { 40 return ReassignResult.create(i != 0); 41 } 42 throw new CastFailure(); 43 } 44 throw new CastFailure(); 45 } 36 46 37 38 public String getType() {39 40 47 @Override 48 public String getFramsTypeName() { 49 return "d 0 1"; 50 } 41 51 42 43 44 45 46 52 @Override 53 public void save(SinkInterface sink, Object value) { 54 assert value instanceof Boolean; 55 sink.print(((Boolean)value) ? "1" : "0"); 56 } 47 57 } -
java/main/src/main/java/com/framsticks/params/types/ColorParam.java
r77 r84 1 1 package com.framsticks.params.types; 2 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.PrimitiveParam; 5 import com.framsticks.params.ReassignResult; 2 6 3 7 /** 4 8 * @author Piotr Sniegowski 5 9 */ 6 public class ColorParam extends ValueParam {10 public class ColorParam extends PrimitiveParam { 7 11 8 12 @Override 9 public Class getStorageType() {10 return Void.class;13 public Class<?> getStorageType() { 14 return Object.class; 11 15 } 12 16 13 14 public String getType() {15 16 17 @Override 18 public String getFramsTypeName() { 19 return "dc"; 20 } 17 21 22 public ReassignResult<Object> reassign(Object newValue, Object oldValue) throws CastFailure { 23 return ReassignResult.create(newValue); 24 } 18 25 19 26 -
java/main/src/main/java/com/framsticks/params/types/DecimalParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks. util.Numbers;4 import com.framsticks.params.ReassignResult; 5 5 6 6 /** 7 7 * @author Piotr Sniegowski 8 8 */ 9 public class DecimalParam extends ValueParam{9 public class DecimalParam extends NumberParam<Integer> { 10 10 11 @Override 12 public boolean isNumeric() { 13 return true; 11 public DecimalParam() { 12 def = 0; 14 13 } 15 14 16 15 @Override 17 public Class getStorageType() {16 public Class<?> getStorageType() { 18 17 return Integer.class; 19 18 } 20 19 20 @Override 21 public ReassignResult<Integer> reassign(Object newValue, Object oldValue) throws CastFailure { 22 return reassignNumber(newValue, oldValue, Integer.class); 23 } 21 24 22 23 @Override 24 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 25 if (newValue instanceof String) { 26 Integer v = Numbers.parse((String)newValue, Integer.class); 27 if (v != null) { 28 return v; 29 } 30 throw new CastFailure(); 31 } 32 return super.reassign(newValue, oldValue); 33 } 34 35 @Override 36 public String getType() { 37 return "d"; 38 } 25 @Override 26 public String getFramsTypeName() { 27 return "d"; 28 } 39 29 40 30 -
java/main/src/main/java/com/framsticks/params/types/EnumParam.java
r77 r84 1 1 package com.framsticks.params.types; 2 2 3 import java.util.ArrayList;4 3 import java.util.List; 5 4 … … 9 8 public class EnumParam extends DecimalParam { 10 9 11 ArrayList<String> enums;10 List<String> enums; 12 11 13 12 /** … … 16 15 * @param enums 17 16 */ 18 public EnumParam( ArrayList<String> enums) {17 public EnumParam(List<String> enums) { 19 18 assert(enums != null); 20 19 this.enums = enums; -
java/main/src/main/java/com/framsticks/params/types/EventParam.java
r77 r84 7 7 */ 8 8 public class EventParam extends Param { 9 9 10 @Override 10 public Class getStorageType() {11 public Class<?> getStorageType() { 11 12 return Void.class; 12 13 } 13 14 14 @Override 15 public String getType() { 16 return "e"; 17 } 18 19 20 15 @Override 16 public String getFramsTypeName() { 17 return "e"; 18 } 21 19 } -
java/main/src/main/java/com/framsticks/params/types/FloatParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks. util.Numbers;4 import com.framsticks.params.ReassignResult; 5 5 6 6 /** 7 7 * @author Piotr Sniegowski 8 8 */ 9 public class FloatParam extends ValueParam { 9 public class FloatParam extends NumberParam<Double> { 10 11 public FloatParam() { 12 def = 0.0; 13 } 14 10 15 @Override 11 public boolean isNumeric() { 12 return true; 13 } 14 @Override 15 public Class getStorageType() { 16 public Class<?> getStorageType() { 16 17 return Double.class; 17 18 } 18 19 19 20 @Override 20 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 21 if (newValue instanceof String) { 22 Double v = Numbers.parse((String)newValue, Double.class); 23 if (v != null) { 24 return v; 25 } 26 throw new CastFailure(); 27 } 28 return super.reassign(newValue, oldValue); 21 public ReassignResult<Double> reassign(Object newValue, Object oldValue) throws CastFailure { 22 return reassignNumber(newValue, oldValue, Double.class); 29 23 } 30 24 31 32 public String getType() {33 34 25 @Override 26 public String getFramsTypeName() { 27 return "f"; 28 } 35 29 36 30 -
java/main/src/main/java/com/framsticks/params/types/ListParam.java
r77 r84 1 1 package com.framsticks.params.types; 2 2 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.util.Casting; 5 import com.framsticks.util.Containers; 6 import com.framsticks.util.Numbers; 7 8 import java.util.List; 3 import com.framsticks.params.CompositeParam; 9 4 10 5 /** … … 17 12 } 18 13 19 20 21 22 23 24 14 } -
java/main/src/main/java/com/framsticks/params/types/ObjectParam.java
r77 r84 3 3 import com.framsticks.params.AccessInterface; 4 4 import com.framsticks.params.CastFailure; 5 import com.framsticks.params.CompositeParam; 6 import com.framsticks.params.ReassignResult; 5 7 6 8 /** … … 13 15 } 14 16 15 16 17 18 17 @Override 18 public String computeAccessId() { 19 return containedTypeName; 20 } 19 21 20 21 public Class getStorageType() {22 @Override 23 public Class<?> getStorageType() { 22 24 return Object.class; 23 25 } 24 26 25 27 @Override 26 public boolean isEmptyAvailable(){27 return true;28 public ReassignResult<Object> reassign(Object newValue, Object oldValue) throws CastFailure { 29 return ReassignResult.create(newValue); 28 30 } 29 31 30 32 @Override 31 public Object reassign(Object newValue, Object oldValue) throws CastFailure{32 return newValue;33 public AccessInterface prepareAccessInterface(AccessInterface access) { 34 return access; 33 35 } 34 36 35 @Override 36 public AccessInterface prepareAccessInterface(AccessInterface access) { 37 return access; 38 } 39 40 @Override 41 public String getType() { 42 return "o " + containedTypeName; 43 } 44 45 46 37 @Override 38 public String getFramsTypeName() { 39 return "o " + containedTypeName; 40 } 47 41 48 42 } -
java/main/src/main/java/com/framsticks/params/types/ProcedureParam.java
r77 r84 1 1 package com.framsticks.params.types; 2 2 3 import com.framsticks.params.CastFailure;4 import com.framsticks.params.FramsClass;5 3 import com.framsticks.params.Param; 6 4 import com.framsticks.params.ParamBuilder; 7 import com.framsticks.util. Strings;5 import com.framsticks.util.lang.Strings; 8 6 9 7 import java.util.ArrayList; … … 58 56 59 57 @Override 60 public Class getStorageType() {58 public Class<?> getStorageType() { 61 59 return Void.class; 62 60 } … … 70 68 } 71 69 72 @Override 73 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 74 throw new CastFailure(); 75 } 76 77 @Override 78 public String getType() { 79 return "p"; 80 } 70 @Override 71 public String getFramsTypeName() { 72 return "p"; 73 } 81 74 82 75 } -
java/main/src/main/java/com/framsticks/params/types/StringParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.PrimitiveParam; 5 import com.framsticks.params.ReassignResult; 4 6 import com.framsticks.params.SinkInterface; 5 7 … … 7 9 * @author Piotr Sniegowski 8 10 */ 9 public class StringParam extends ValueParam {11 public class StringParam extends PrimitiveParam { 10 12 @Override 11 public Class getStorageType() {13 public Class<?> getStorageType() { 12 14 return String.class; 13 15 } 14 16 15 17 @Override 16 public boolean isEmptyAvailable() { 17 return true; 18 public ReassignResult<String> reassign(Object newValue, Object oldValue) throws CastFailure { 19 if (newValue == null) { 20 return new ReassignResult<String>(null); 21 } 22 if (newValue instanceof String) { 23 return ReassignResult.create((String) newValue); 24 } 25 return ReassignResult.create(newValue.toString()); 26 // return super.reassign(newValue, oldValue); 18 27 } 19 28 20 @Override 21 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 22 if (newValue instanceof String) { 23 return (String)newValue; 24 } 25 return super.reassign(newValue, oldValue); 26 } 29 @Override 30 public String getFramsTypeName() { 31 return "s"; 32 } 27 33 28 @Override 29 public String getType() { 30 return "s"; 31 } 34 private static final String SEPARATOR = System.getProperty("line.separator"); 32 35 33 private static final String SEPARATOR = System.getProperty("line.separator"); 34 35 @Override 36 public void save(SinkInterface sink, Object value) { 37 assert value instanceof String; 38 String s = (String)value; 39 sink.print((s.contains(SEPARATOR) ? (s = "~" + SEPARATOR + s + "~") : s)); 40 } 36 @Override 37 public void save(SinkInterface sink, Object value) { 38 assert value instanceof String; 39 String s = (String)value; 40 sink.print((s.contains(SEPARATOR) ? (s = "~" + SEPARATOR + s + "~") : s)); 41 } 41 42 } -
java/main/src/main/java/com/framsticks/params/types/UniqueListParam.java
r77 r84 3 3 import com.framsticks.params.AccessInterface; 4 4 import com.framsticks.params.CastFailure; 5 import com.framsticks.params.ReassignResult; 5 6 import com.framsticks.params.UniqueListAccess; 6 import com.framsticks.util. Numbers;7 import com.framsticks.util.lang.Numbers; 7 8 8 9 import java.util.HashMap; 9 import java.util.List;10 10 import java.util.Map; 11 11 … … 15 15 public class UniqueListParam extends ListParam { 16 16 17 17 final String uidName; 18 18 19 20 21 22 19 public UniqueListParam(String containedTypeName, String uidName) { 20 super(containedTypeName); 21 this.uidName = uidName; 22 } 23 23 24 25 26 27 24 @Override 25 public String computeAccessId() { 26 return "l " + containedTypeName + " " + uidName; 27 } 28 28 29 29 30 31 public ClassgetStorageType() {32 33 30 @Override 31 public Class<?> getStorageType() { 32 return Map.class; 33 } 34 34 35 36 37 38 35 @Override 36 public AccessInterface prepareAccessInterface(AccessInterface access) { 37 return new UniqueListAccess(access, uidName); 38 } 39 39 40 @Override 41 public ReassignResult<? extends Map<?,?>> reassign(Object newValue, Object oldValue) throws CastFailure { 42 if (newValue instanceof Map) { 43 return new ReassignResult<Map<?,?>>((Map<?,?>) newValue); 44 } 45 Integer size = Numbers.cast(newValue, Integer.class); 46 if (size != null) { 47 //return oldValue; 48 /* 49 the integer value should be ignored, because this may cause, that object is created before 50 information about it's elements is available, which would break resolution flow 51 */ 52 if (oldValue != null) { 53 return new ReassignResult<Map<?,?>>((Map<?,?>) oldValue); 54 } 55 return ReassignResult.create(new HashMap<Object, Object>()); 56 } 40 57 41 @Override 42 public Object reassign(Object newValue, Object oldValue) throws CastFailure { 43 if (newValue instanceof Map) { 44 return newValue; 45 } 46 Integer size = Numbers.cast(newValue, Integer.class); 47 if (size != null) { 48 //return oldValue; 49 /* 50 the integer value should be ignored, because this may cause, that object is created before 51 information about it's elements is available, which would break resolution flow 52 */ 53 if (oldValue != null) { 54 return oldValue; 55 } 56 return new HashMap(); 57 } 58 throw new CastFailure(); 59 } 58 60 59 throw new CastFailure(); 60 } 61 62 @Override 63 public String getType() { 64 return "l " + containedTypeName + " " + uidName; 65 } 61 @Override 62 public String getFramsTypeName() { 63 return "l " + containedTypeName + " " + uidName; 64 } 66 65 67 66 -
java/main/src/main/java/com/framsticks/params/types/UniversalParam.java
r77 r84 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.util.Numbers; 4 import com.framsticks.params.PrimitiveParam; 5 import com.framsticks.params.ReassignResult; 5 6 6 7 /** 7 8 * @author Piotr Sniegowski 8 9 */ 9 public class UniversalParam extends ValueParam {10 public class UniversalParam extends PrimitiveParam { 10 11 @Override 11 public Class getStorageType() {12 public Class<?> getStorageType() { 12 13 return Object.class; 13 14 } 14 15 15 16 @Override 16 public boolean isEmptyAvailable() {17 return true;17 public String getFramsTypeName() { 18 return "x"; 18 19 } 19 20 20 @Override 21 public String getType() { 22 return "x"; 23 } 24 21 @Override 22 public ReassignResult<Object> reassign(Object newValue, Object oldValue) throws CastFailure { 23 return ReassignResult.create(newValue); 24 } 25 25 26 26 }
Note: See TracChangeset
for help on using the changeset viewer.