litesoft
@ 947
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
// This Source Code is in the Public Domain per: http://unlicense.org package org.litesoft.GWT.forms.client.components.factories.others; import org.litesoft.commonfoundation.typeutils.Objects; import java.util.*; import org.litesoft.GWT.forms.client.components.factories.*; import org.litesoft.GWT.forms.client.nonpublic.*; import org.litesoft.ui.def.*; import org.litesoft.ui.def.nonpublic.*; import org.litesoft.ui.def.nonpublic.support.*; import com.google.gwt.user.client.ui.*; public class BaseFormComponentFactory implements FormComponentFactory { public static final BaseFormComponentFactory INSTANCE = new BaseFormComponentFactory(); private Map<UiD_Type, FormComponentFactory> mTypeToFactory = new HashMap<UiD_Type, FormComponentFactory>(); private BaseFormComponentFactory() { addMapping( UiActionDef.TYPE, /* */ new UiActionWidgetFactory() ); addMapping( UiHiddenAttributeDef.TYPE, /* */ new UiHiddenAttributeWidgetFactory() ); addMapping( UiImageDef.TYPE, /* */ new UiImageWidgetFactory() ); addMapping( UiInputActionDef.TYPE, /* */ new UiInputActionWidgetFactory() ); addMapping( UiInputImageDef.TYPE, /* */ new UiInputImageWidgetFactory() ); addMapping( UiInputDef.TYPE, /* */ new UiInputWidgetFactory() ); addMapping( UiLabelDef.TYPE, /* */ new UiLabelWidgetFactory() ); addMapping( UiSpacerDef.TYPE, /* */ new UiSpacerWidgetFactory() ); addMapping( UiTreeMenuDef.TYPE, /* */ new UiTreeMenuWidgetFactory() ); addMapping( UiViewDef.TYPE, /* */ UiViewWidgetFactory.INSTANCE ); } public void addMapping( UiD_Type pUiDefType, FormComponentFactory pTypeFactory ) { Object prev = assertMappingAdjustment( pUiDefType, pTypeFactory ); if ( prev != null ) { throw new IllegalStateException( "Duplicate FormComponentFactory for type (" + pUiDefType + "):" + // "\n prev: " + prev + // "\n new: " + pTypeFactory ); } mTypeToFactory.put( pUiDefType, pTypeFactory ); } public void replaceMapping( UiD_Type pUiDefType, FormComponentFactory pTypeFactory ) { Object prev = assertMappingAdjustment( pUiDefType, pTypeFactory ); if ( prev == null ) { throw new IllegalStateException( "No Existing FormComponentFactory for type (" + pUiDefType + "):" + // "\n new: " + pTypeFactory ); } mTypeToFactory.put( pUiDefType, pTypeFactory ); } private Object assertMappingAdjustment( UiD_Type pUiDefType, FormComponentFactory pTypeFactory ) { Objects.assertNotNull( "UiDefType", pUiDefType ); Objects.assertNotNull( "TypeFactory", pTypeFactory ); return mTypeToFactory.get( pUiDefType ); } private FormComponentFactory getMapping( UiD_Type pUiDefType ) { return mTypeToFactory.get( pUiDefType ); } public Widget create( FormInstanceComponentHandler pComponentHandler, UiDef pUiDef, FormMetaData pFormMetaData, boolean pHasHorizontalPeer ) { FormComponentFactory factory = getMapping( pUiDef.getType() ); if ( factory == null ) { return new Label( "No FormComponentFactory for type: " + pUiDef.getType() ); } return factory.create( pComponentHandler, pUiDef, pFormMetaData, pHasHorizontalPeer ); } } |
Commits for litesoft/trunk/Java/GWT/OldClient/src/org/litesoft/GWT/forms/client/components/factories/others/BaseFormComponentFactory.java
Revision | Author | Commited | Message |
---|---|---|---|
947 Diff | GeorgeS | Fri 06 Jun, 2014 23:36:56 +0000 | Correct Spelling of package! |
939 Diff | GeorgeS | Mon 02 Jun, 2014 21:30:31 +0000 | Extracting commonfoundation |
804 Diff | GeorgeS | Wed 15 Aug, 2012 12:48:51 +0000 | |
60 Diff | GeorgeS | Tue 24 Aug, 2010 00:37:36 +0000 | |
49 Diff | GeorgeS | Mon 12 Apr, 2010 02:59:10 +0000 | License Text |
2 | GeorgeS | Sun 07 Feb, 2010 12:50:58 +0000 |