1 6 package com.nightlabs.ipanema.person.edit; 7 8 import com.nightlabs.ipanema.person.AbstractPersonDataField; 9 10 15 public abstract class AbstractPersonDataFieldEditorFactory implements PersonDataFieldEditorFactory { 16 17 20 public AbstractPersonDataFieldEditorFactory() { } 21 22 25 public abstract Class getTargetPersonDataFieldType(); 26 27 30 public abstract String getEditorType(); 31 32 public abstract Class getPersonDataFieldEditorClass(); 33 34 39 public PersonDataFieldEditor createPersonDataFieldEditor(AbstractPersonDataField data, boolean setData) { 40 PersonDataFieldEditor editor; 41 try { 42 editor = (PersonDataFieldEditor)getPersonDataFieldEditorClass().newInstance(); 43 } catch (Throwable t) { 44 IllegalStateException ill = new IllegalStateException ("Error instantiating "+getPersonDataFieldEditorClass().getName()); 45 ill.initCause(t); 46 throw ill; 47 } 48 if (setData) 49 editor.setData(data); 50 return editor; 51 } 52 53 } 54 | Popular Tags |