From e131a5fedb836e98b5a79d31a1b6ea323485a9e8 Mon Sep 17 00:00:00 2001 From: Thomas Oster <thomas.oster@rwth-aachen.de> Date: Tue, 18 Sep 2012 14:41:52 +0200 Subject: [PATCH] getPropertyClass-Method for LaserPropertys --- .../FloatPowerSpeedFocusFrequencyProperty.java | 10 ++++++++++ src/com/t_oster/liblasercut/LaserProperty.java | 10 ++++++++-- .../PowerSpeedFocusFrequencyProperty.java | 10 ++++++++++ .../liblasercut/PowerSpeedFocusProperty.java | 14 ++++++++++++++ 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java b/src/com/t_oster/liblasercut/FloatPowerSpeedFocusFrequencyProperty.java index 794a3b4..22cde99 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 7970967..4d41e53 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 5e66170..ecfebbc 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 2493e31..687179b 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) { -- GitLab