Changeset 87 for java/main/src/main/java/com/framsticks/params/types
- Timestamp:
- 06/28/13 11:56:03 (11 years ago)
- Location:
- java/main/src/main/java/com/framsticks/params/types
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
java/main/src/main/java/com/framsticks/params/types/ArrayListParam.java
r84 r87 4 4 import com.framsticks.params.ArrayListAccess; 5 5 import com.framsticks.params.CastFailure; 6 import com.framsticks.params.ParamBuilder; 6 7 import com.framsticks.params.ReassignResult; 7 8 import com.framsticks.util.lang.Casting; … … 12 13 import java.util.List; 13 14 15 import javax.annotation.concurrent.Immutable; 16 14 17 /** 15 18 * @author Piotr Sniegowski 16 19 */ 20 @Immutable 17 21 public class ArrayListParam extends ListParam { 18 22 19 public ArrayListParam( String containedTypeName) {20 super( containedTypeName);23 public ArrayListParam(ParamBuilder builder) { 24 super(builder); 21 25 } 22 26 -
java/main/src/main/java/com/framsticks/params/types/BinaryParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.PrimitiveParam; 5 6 import com.framsticks.params.ReassignResult; 6 7 import com.framsticks.util.lang.Numbers; 7 8 9 import javax.annotation.concurrent.Immutable; 10 8 11 /** 9 12 * @author Piotr Sniegowski 10 13 */ 11 public class BinaryParam extends PrimitiveParam { 14 @Immutable 15 public class BinaryParam extends PrimitiveParam<Integer> { 16 17 /** 18 * @param builder 19 */ 20 public BinaryParam(ParamBuilder builder) { 21 super(builder); 22 } 12 23 13 24 @Override -
java/main/src/main/java/com/framsticks/params/types/BooleanParam.java
r84 r87 1 1 package com.framsticks.params.types; 2 2 3 import javax.annotation.concurrent.Immutable; 4 3 5 import com.framsticks.params.CastFailure; 6 import com.framsticks.params.ParamBuilder; 4 7 import com.framsticks.params.PrimitiveParam; 5 8 import com.framsticks.params.ReassignResult; … … 10 13 * @author Piotr Sniegowski 11 14 */ 12 public class BooleanParam extends PrimitiveParam { 15 @Immutable 16 public class BooleanParam extends PrimitiveParam<Boolean> { 13 17 14 public BooleanParam() { 15 def = false; 18 /** 19 * @param builder 20 */ 21 public BooleanParam(ParamBuilder builder) { 22 super(builder.defaultDef(false)); 16 23 } 17 24 -
java/main/src/main/java/com/framsticks/params/types/ColorParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.PrimitiveParam; 5 6 import com.framsticks.params.ReassignResult; 7 8 import javax.annotation.concurrent.Immutable; 6 9 7 10 /** 8 11 * @author Piotr Sniegowski 9 12 */ 10 public class ColorParam extends PrimitiveParam { 13 @Immutable 14 public class ColorParam extends PrimitiveParam<Object> { 15 16 17 18 /** 19 * @param builder 20 */ 21 public ColorParam(ParamBuilder builder) { 22 super(builder); 23 } 11 24 12 25 @Override -
java/main/src/main/java/com/framsticks/params/types/DecimalParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.ReassignResult; 6 7 import javax.annotation.concurrent.Immutable; 5 8 6 9 /** 7 10 * @author Piotr Sniegowski 8 11 */ 12 @Immutable 9 13 public class DecimalParam extends NumberParam<Integer> { 10 14 11 public DecimalParam() { 12 def = 0; 15 /** 16 * @param builder 17 */ 18 public DecimalParam(ParamBuilder builder) { 19 super(builder.defaultDef(0)); 13 20 } 14 21 -
java/main/src/main/java/com/framsticks/params/types/EnumParam.java
r84 r87 3 3 import java.util.List; 4 4 5 import com.framsticks.params.ParamBuilder; 6 7 import javax.annotation.concurrent.Immutable; 8 5 9 /** 6 10 * @author Piotr Sniegowski 7 11 */ 12 @Immutable 8 13 public class EnumParam extends DecimalParam { 9 14 10 List<String> enums; 15 16 protected final List<String> enums; 11 17 12 18 /** … … 15 21 * @param enums 16 22 */ 17 public EnumParam(List<String> enums) { 18 assert(enums != null); 19 this.enums = enums; 23 public EnumParam(ParamBuilder builder) { 24 super(builder); 25 this.enums = builder.getEnumValues(); 26 assert(this.enums != null); 20 27 } 21 28 -
java/main/src/main/java/com/framsticks/params/types/EventParam.java
r84 r87 2 2 3 3 import com.framsticks.params.Param; 4 import com.framsticks.params.ParamBuilder; 5 6 import javax.annotation.concurrent.Immutable; 4 7 5 8 /** 6 9 * @author Piotr Sniegowski 7 10 */ 11 @Immutable 8 12 public class EventParam extends Param { 13 14 15 16 /** 17 * @param builder 18 */ 19 public EventParam(ParamBuilder builder) { 20 super(builder); 21 } 9 22 10 23 @Override -
java/main/src/main/java/com/framsticks/params/types/FloatParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.ReassignResult; 6 7 import javax.annotation.concurrent.Immutable; 5 8 6 9 /** 7 10 * @author Piotr Sniegowski 8 11 */ 12 @Immutable 9 13 public class FloatParam extends NumberParam<Double> { 10 14 11 public FloatParam() { 12 def = 0.0; 15 /** 16 * @param builder 17 */ 18 public FloatParam(ParamBuilder builder) { 19 super(builder.defaultDef(0.0)); 13 20 } 14 21 -
java/main/src/main/java/com/framsticks/params/types/ListParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CompositeParam; 4 import com.framsticks.params.ParamBuilder; 5 6 import javax.annotation.concurrent.Immutable; 4 7 5 8 /** 6 9 * @author Piotr Sniegowski 7 10 */ 11 @Immutable 8 12 public abstract class ListParam extends CompositeParam { 9 13 10 public ListParam( String containedTypeName) {11 super( containedTypeName);14 public ListParam(ParamBuilder builder) { 15 super(builder); 12 16 } 13 17 -
java/main/src/main/java/com/framsticks/params/types/NumberParam.java
r84 r87 3 3 import com.framsticks.params.CastFailure; 4 4 import com.framsticks.params.Flags; 5 import com.framsticks.params.ParamBuilder; 5 6 import com.framsticks.params.PrimitiveParam; 6 7 import com.framsticks.params.ReassignResult; … … 8 9 import com.framsticks.util.lang.Numbers; 9 10 11 import javax.annotation.concurrent.Immutable; 12 10 13 /** 11 14 * @author Piotr Sniegowski 12 15 */ 13 public abstract class NumberParam<T extends Number & Comparable<T>> extends PrimitiveParam { 16 @Immutable 17 public abstract class NumberParam<T extends Number & Comparable<T>> extends PrimitiveParam<T> { 18 19 /** 20 * @param builder 21 */ 22 public NumberParam(ParamBuilder builder) { 23 super(builder); 24 } 14 25 15 26 @Override … … 21 32 T v = null; 22 33 if (newValue instanceof String) { 23 v = Numbers.parse((String) newValue, type);34 v = Numbers.parse((String) newValue, type); 24 35 } else { 25 36 v = Casting.tryCast(type, newValue); -
java/main/src/main/java/com/framsticks/params/types/ObjectParam.java
r84 r87 4 4 import com.framsticks.params.CastFailure; 5 5 import com.framsticks.params.CompositeParam; 6 import com.framsticks.params.ParamBuilder; 6 7 import com.framsticks.params.ReassignResult; 8 9 import javax.annotation.concurrent.Immutable; 7 10 8 11 /** 9 12 * @author Piotr Sniegowski 10 13 */ 14 @Immutable 11 15 public class ObjectParam extends CompositeParam { 12 16 13 public ObjectParam( String containedTypeName) {14 super( containedTypeName);17 public ObjectParam(ParamBuilder builder) { 18 super(builder); 15 19 } 16 20 -
java/main/src/main/java/com/framsticks/params/types/ProcedureParam.java
r85 r87 2 2 3 3 import com.framsticks.params.Param; 4 import com.framsticks.params.ParamBuilder; 5 import com.framsticks.util.FramsticksException; 4 6 import com.framsticks.util.lang.Strings; 5 7 … … 9 11 import java.util.regex.Pattern; 10 12 13 import javax.annotation.concurrent.Immutable; 14 11 15 /** 12 16 * @author Piotr Sniegowski 13 17 */ 18 @Immutable 14 19 public class ProcedureParam extends Param { 15 private Param resultType;16 private List<Param> argumentsType = new ArrayList<Param>();20 private final Param resultType; 21 private final List<Param> argumentsType = new ArrayList<Param>(); 17 22 18 23 private static Pattern addressPattern = Pattern.compile("^([^\\(]+)?\\(([^\\)]*)\\)$"); 24 25 /** 26 * @param builder 27 */ 28 public ProcedureParam(ParamBuilder builder) { 29 super(builder); 30 String signature = builder.getProcedureSignature(); 31 if (Strings.notEmpty(signature)) { 32 Matcher matcher = addressPattern.matcher(signature); 33 if (!matcher.matches()) { 34 throw new FramsticksException().msg("invalid signature"); 35 } 36 String result = Strings.collapse(matcher.group(1)); 37 resultType = (result != null) ? parseType(result, null) : null; 38 String arguments = matcher.group(2); 39 if (!Strings.notEmpty(arguments)) { 40 return; 41 } 42 for (String a : arguments.split(",")) { 43 int space = a.indexOf(' '); 44 String type; 45 String name; 46 if (space == -1) { 47 type = a; 48 name = null; 49 } else { 50 type = a.substring(0, space); 51 name = a.substring(space + 1); 52 } 53 argumentsType.add(parseType(type, name)); 54 } 55 } else { 56 resultType = null; 57 } 58 } 19 59 20 60 protected static Param parseType(String type, String name) { 21 61 return Param.build().type(type).name(name).finish(); 22 62 } 23 24 public void parseSignature(String signature) throws Exception {25 if (!Strings.notEmpty(signature)) {26 return;27 }28 Matcher matcher = addressPattern.matcher(signature);29 if (!matcher.matches()) {30 throw new Exception("invalid signature");31 }32 String result = Strings.collapse(matcher.group(1));33 if (result != null) {34 resultType = parseType(result, null);35 }36 String arguments = matcher.group(2);37 if (!Strings.notEmpty(arguments)) {38 return;39 }40 for (String a : arguments.split(",")) {41 int space = a.indexOf(' ');42 String type;43 String name;44 if (space == -1) {45 type = a;46 name = null;47 } else {48 type = a.substring(0, space);49 name = a.substring(space + 1);50 }51 argumentsType.add(parseType(type, name));52 }53 }54 55 63 56 64 @Override -
java/main/src/main/java/com/framsticks/params/types/StringParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.PrimitiveParam; 5 6 import com.framsticks.params.ReassignResult; 6 7 import com.framsticks.params.SinkInterface; 7 8 9 import javax.annotation.concurrent.Immutable; 10 8 11 /** 9 12 * @author Piotr Sniegowski 10 13 */ 11 public class StringParam extends PrimitiveParam { 14 @Immutable 15 public class StringParam extends PrimitiveParam<String> { 16 17 18 19 /** 20 * @param builder 21 */ 22 public StringParam(ParamBuilder builder) { 23 super(builder); 24 } 25 12 26 @Override 13 27 public Class<?> getStorageType() { -
java/main/src/main/java/com/framsticks/params/types/UniqueListParam.java
r84 r87 3 3 import com.framsticks.params.AccessInterface; 4 4 import com.framsticks.params.CastFailure; 5 import com.framsticks.params.ParamBuilder; 5 6 import com.framsticks.params.ReassignResult; 6 7 import com.framsticks.params.UniqueListAccess; … … 10 11 import java.util.Map; 11 12 13 import javax.annotation.concurrent.Immutable; 14 12 15 /** 13 16 * @author Piotr Sniegowski 14 17 */ 18 @Immutable 15 19 public class UniqueListParam extends ListParam { 16 20 17 21 final String uidName; 18 22 19 public UniqueListParam( String containedTypeName, String uidName) {20 super( containedTypeName);21 this.uidName = uidName;23 public UniqueListParam(ParamBuilder builder) { 24 super(builder); 25 this.uidName = builder.getUid(); 22 26 } 23 27 -
java/main/src/main/java/com/framsticks/params/types/UniversalParam.java
r84 r87 2 2 3 3 import com.framsticks.params.CastFailure; 4 import com.framsticks.params.ParamBuilder; 4 5 import com.framsticks.params.PrimitiveParam; 5 6 import com.framsticks.params.ReassignResult; 7 8 import javax.annotation.concurrent.Immutable; 6 9 7 10 /** 8 11 * @author Piotr Sniegowski 9 12 */ 10 public class UniversalParam extends PrimitiveParam { 13 @Immutable 14 public class UniversalParam extends PrimitiveParam<Object> { 15 16 17 /** 18 * @param builder 19 */ 20 public UniversalParam(ParamBuilder builder) { 21 super(builder); 22 } 23 11 24 @Override 12 25 public Class<?> getStorageType() {
Note: See TracChangeset
for help on using the changeset viewer.