/* The contents of this file are subject to the license and copyright terms * detailed in the license directory at the root of the source tree (also * available online at http://fedora-commons.org/license/). */ package org.fcrepo.client.console; /** * @author Chris Wilper */ public abstract class InputPanelFactory { public static InputPanel<?> getPanel(Class<?> cl) { if (cl.getName().equals("java.lang.String")) { return new StringInputPanel(); } if (cl.getName().equals("[B")) { return new ByteArrayInputPanel(true); } if (cl.getName().equals("boolean")) { return new BooleanInputPanel(true); } if (cl.getName().equals("java.lang.Boolean")) { return new BooleanInputPanel(false); } if (cl.getName().equals("java.util.Date")) { return new DateTimeInputPanel(); } if (cl.getName().equals("org.apache.axis.types.NonNegativeInteger")) { return new NonNegativeIntegerInputPanel(); } if (cl.getName().startsWith("[L")) { Class<?> type = cl.getComponentType(); return ArrayInputPanel.getInstance(type); } System.out.println("Unrecognized type: " + cl.getName()); return NullInputPanel.getInstance(); } }