package org.marketcetera.module; import org.marketcetera.util.misc.ClassVersion; import java.math.BigDecimal; import java.math.BigInteger; import java.io.File; import java.net.URL; import java.util.Properties; /* $License$ */ /** * A factory that is used to test data conversions * during JMX invocations. * * @author anshul@marketcetera.com */ @ClassVersion("$Id: JMXTestModuleFactory.java 16154 2012-07-14 16:34:05Z colin $") public class JMXTestModuleFactory extends ModuleFactory implements JMXTestFactoryMXBean { @Override public JMXTestModule create(Object... parameters) throws ModuleCreationException { mNumInstancesCreated++; int i = 0; JMXTestModule module = new JMXTestModule((ModuleURN) parameters[i++]); module.setBoolean((Boolean) parameters[i++]); module.setPrimBoolean((Boolean)parameters[i++]); module.setByte((Byte) parameters[i++]); module.setPrimByte((Byte)parameters[i++]); module.setCharacter((Character) parameters[i++]); module.setPrimCharacter((Character) parameters[i++]); module.setShort((Short) parameters[i++]); module.setPrimShort((Short) parameters[i++]); module.setInt((Integer) parameters[i++]); module.setPrimInt((Integer) parameters[i++]); module.setFloat((Float) parameters[i++]); module.setPrimFloat((Float) parameters[i++]); module.setLong((Long) parameters[i++]); module.setPrimLong((Long) parameters[i++]); module.setDouble((Double) parameters[i++]); module.setPrimDouble((Double) parameters[i++]); module.setString((String) parameters[i++]); module.setDecimal((BigDecimal) parameters[i++]); module.setInteger((BigInteger) parameters[i++]); module.setFile(parameters[i++].toString()); module.setURL((parameters[i++]).toString()); module.setProperties((Properties) parameters[i]); module.setFactoryAnnotation(getNewInstanceAnnotation()); return module; } public JMXTestModuleFactory() { super(PROVIDER_URN, TestMessages.MULTIPLE_3_PROVIDER, true, false, ModuleURN.class, Boolean.class, Boolean.TYPE, Byte.class, Byte.TYPE, Character.class, Character.TYPE, Short.class, Short.TYPE, Integer.class, Integer.TYPE, Float.class, Float.TYPE, Long.class, Long.TYPE, Double.class, Double.TYPE, String.class, BigDecimal.class, BigInteger.class, File.class, URL.class, Properties.class); } @Override public int getNumInstancesCreated() { return mNumInstancesCreated; } @Override public void resetNumInstancesCreated() { mNumInstancesCreated = 0; } @Override public String getNewInstanceAnnotation() { return mNewInstanceAnnotation; } @Override public void setNewInstanceAnnotation(String inNewInstanceAnnotation) { mNewInstanceAnnotation = inNewInstanceAnnotation; } private int mNumInstancesCreated = 0; private String mNewInstanceAnnotation = "default"; static final ModuleURN PROVIDER_URN = new ModuleURN("metc:test:multiple3"); }