| //------------------------------------------------------------------------------ |
| // |
| // THIS SOFTWARE IS PROVIDED AS IS. THE JAVAPOS WORKING GROUP MAKES NO |
| // REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE SOFTWARE, |
| // EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED |
| // WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR |
| // NON-INFRINGEMENT. INDIVIDUAL OR CORPORATE MEMBERS OF THE JAVAPOS |
| // WORKING GROUP SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED AS A RESULT |
| // OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. |
| // |
| // ScaleBeanInfo.java - Bean information for the JavaPOS Scale |
| // device control |
| // |
| //------------------------------------------------------------------------------ |
| |
| package jpos; |
| |
| import java.beans.*; |
| import java.lang.reflect.*; |
| |
| public class ScaleBeanInfo |
| extends SimpleBeanInfo |
| { |
| public BeanDescriptor getBeanDescriptor() |
| { |
| return new BeanDescriptor(jpos.Scale.class); |
| } |
| |
| public PropertyDescriptor makeProperty(String propertyName) |
| throws IntrospectionException |
| { |
| return new PropertyDescriptor(propertyName, jpos.Scale.class); |
| } |
| |
| public PropertyDescriptor[] getPropertyDescriptors() |
| { |
| try |
| { |
| PropertyDescriptor[] properties = |
| { |
| // Capabilities |
| makeProperty("CapDisplay"), |
| makeProperty("CapDisplayText"), |
| makeProperty("CapPriceCalculating"), |
| makeProperty("CapPowerReporting"), |
| makeProperty("CapTareWeight"), |
| makeProperty("CapZeroScale"), |
| makeProperty("CapStatisticsReporting"), |
| makeProperty("CapUpdateStatistics"), |
| makeProperty("CapCompareFirmwareVersion"), |
| makeProperty("CapStatusUpdate"), |
| makeProperty("CapUpdateFirmware"), |
| makeProperty("CapFreezeValue"), |
| makeProperty("CapReadLiveWeightWithTare"), |
| makeProperty("CapSetPriceCalculationMode"), |
| makeProperty("CapSetUnitPriceWithWeightUnit"), |
| makeProperty("CapSpecialTare"), |
| makeProperty("CapTarePriority"), |
| |
| // Properties |
| makeProperty("MaximumWeight"), |
| makeProperty("WeightUnit"), |
| makeProperty("AsyncMode"), |
| makeProperty("AutoDisable"), |
| makeProperty("DataCount"), |
| makeProperty("DataEventEnabled"), |
| makeProperty("MaxDisplayTextChars"), |
| makeProperty("SalesPrice"), |
| makeProperty("TareWeight"), |
| makeProperty("UnitPrice"), |
| makeProperty("PowerNotify"), |
| makeProperty("PowerState"), |
| makeProperty("ScaleLiveWeight"), |
| makeProperty("StatusNotify"), |
| makeProperty("ZeroValid"), |
| makeProperty("MinimumWeight") |
| }; |
| |
| return properties; |
| } |
| catch(Exception e) |
| { |
| return super.getPropertyDescriptors(); |
| } |
| } |
| |
| public EventSetDescriptor makeEvent(String eventName) |
| throws IntrospectionException, ClassNotFoundException |
| { |
| String listener = "jpos.events." + eventName + "Listener"; |
| return new EventSetDescriptor(jpos.Scale.class, |
| eventName, |
| Class.forName(listener), |
| eventName + "Occurred"); |
| } |
| |
| public EventSetDescriptor[] getEventSetDescriptors() |
| { |
| try |
| { |
| EventSetDescriptor[] events = |
| { |
| makeEvent("Data"), |
| makeEvent("DirectIO"), |
| makeEvent("Error"), |
| makeEvent("StatusUpdate") |
| }; |
| |
| return events; |
| } |
| catch(Exception e) |
| { |
| return super.getEventSetDescriptors(); |
| } |
| } |
| } |