diff --git a/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java b/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java index 794a3b4947451d467a24209a17c53fe03dbebb05..22cde99f8a1890bfa8a4359b3826653f23a13fa1 100644 --- a/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java +++ b/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java @@ -225,4 +225,14 @@ public class FloatPowerSpeedFocusFrequencyProperty implements LaserProperty { return null; } + + @Override + public Class getPropertyClass(String name) + { + if ("power".equals(name)||"speed".equals(name)||"focus".equals(name)||"frequency".equals(name)) + { + return Float.class; + } + return null; + } } diff --git a/src/com/t_oster/liblasercut/LaserProperty.java b/src/com/t_oster/liblasercut/LaserProperty.java index 79709673168ce973b1189ed103be7ec7c4fb4d1b..4d41e538e6bd4971ac182ab9041665da5481d351 100644 --- a/src/com/t_oster/liblasercut/LaserProperty.java +++ b/src/com/t_oster/liblasercut/LaserProperty.java @@ -18,8 +18,6 @@ **/ package com.t_oster.liblasercut; -import java.util.List; - /** * The LaserProperty holds all the parameters for parts of the LaserJob. * The Frequency value is ignored for Engraving operations @@ -46,6 +44,14 @@ public interface LaserProperty extends Cloneable public abstract void setProperty(String name, Object value); + /** + * If name is a name of a vaild property, return the class + * of this property's objects. else return null + * @param name + * @return + */ + public abstract Class getPropertyClass(String name); + /** * returns the minimum value of this property if it is * of type Double, Integer or Float and a minimum value diff --git a/src/com/t_oster/liblasercut/PowerSpeedFocusFrequencyProperty.java b/src/com/t_oster/liblasercut/PowerSpeedFocusFrequencyProperty.java index 5e66170445b8dfd57b23a7c67257cbf3f6cc8227..ecfebbc5d82552f41f23231857d8dde3a1d557a2 100644 --- a/src/com/t_oster/liblasercut/PowerSpeedFocusFrequencyProperty.java +++ b/src/com/t_oster/liblasercut/PowerSpeedFocusFrequencyProperty.java @@ -118,6 +118,16 @@ public class PowerSpeedFocusFrequencyProperty extends PowerSpeedFocusProperty } } + @Override + public Class getPropertyClass(String name) + { + if ("frequency".equals(name)) + { + return Integer.class; + } + return super.getPropertyClass(name); + } + @Override public PowerSpeedFocusFrequencyProperty clone() { diff --git a/src/com/t_oster/liblasercut/PowerSpeedFocusProperty.java b/src/com/t_oster/liblasercut/PowerSpeedFocusProperty.java index 2493e313d7c7d3984074dcdf91ebe8650f6e7cd9..687179ba8a88d9b83da3dd0b90e21e4d59ab1103 100644 --- a/src/com/t_oster/liblasercut/PowerSpeedFocusProperty.java +++ b/src/com/t_oster/liblasercut/PowerSpeedFocusProperty.java @@ -192,6 +192,20 @@ public class PowerSpeedFocusProperty implements LaserProperty } } + @Override + public Class getPropertyClass(String name) + { + if ("power".equals(name)||"speed".equals(name)) + { + return Integer.class; + } + else if ("focus".equals(name)) + { + return Float.class; + } + return null; + } + @Override public Object[] getPossibleValues(String name) {