@Override public UiWizard createWizard(String obj) throws Exception { return (UiWizard) activator.createObject(obj); }
public Object createObject(String name) throws Exception { return createObject(name, null, null); }
public <T> T createObject(Class<T> ifc, String name) throws Exception { return (T)createObject(ifc,name,null,null); }
@SuppressWarnings("unchecked") public <T> T createObject(Class<T> ifc, String name, Class<?>[] classes, Object[] objects ) throws Exception { return (T)createObject(ifc.getCanonicalName() + ":" + name,classes,objects); }
/** * Object factory to create different kinds of objects for one table. * * @param clazz * @param registryName * @param ret could be null, return the default object * @param manager * @param isPersistent * @return x x * @throws Exception */ public Object createObject(Class<?> clazz, String registryName, DbResult ret, DbManager manager, boolean isPersistent) throws Exception { Object object = manager .getActivator() .createObject(clazz.getCanonicalName()); if (object instanceof DbObject) { ((DbObject)object).doInit(manager, registryName, isPersistent); } return object; }
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException { int size = in.readInt(); // data.clear(); Create new one because of concurrent modifications data = new LinkedList<>(); for (int i = 0; i < size; i++) { int code = in.readInt(); if (code == 0) { Object d = in.readObject(); data.add(d); } else if (code == 1) { String clazzName = in.readUTF(); Object obj; try { obj = MApi.get().base().lookup(MActivator.class).createObject(clazzName); } catch (Exception e) { throw new IOException(e); } String jsonString = in.readUTF(); JsonNode json = MJson.load(jsonString); MPojo.jsonToPojo(json, obj); data.add(obj); } } }
public LayoutBuilder doBuild(IConfig layout) throws Exception { if (layout.getName().equals(DefRoot.ROOT)) layout = layout.getNode("layout").getNodes().iterator().next(); XLayElement root = getActivator().createObject(XLayElement.class, layout.getName()); root.setConfig(layout); elements = new HashMap<String, XLayElement>(); model = new LayModel(root, elements); build(root,layout); return this; }
/** * Create a new pool from a configuration. * * @param config Config element or null. null will use the central MApi configuration. * @param activator Activator or null. null will use the central MApi Activator. * @throws Exception */ public DbPool(IConfig config,MActivator activator) throws Exception { this.config = config; if (this.config == null) doCreateConfig(); if (activator == null) activator = MApi.lookup(MActivator.class); DbProvider provider = (DbProvider) activator.createObject(this.config.getExtracted("provider",JdbcProvider.class.getCanonicalName())); provider.doInitialize(this.config,activator); this.provider = provider; init(); }
public LayoutBuilder doBuild(ResourceNode layout) throws Exception { if (layout.getName().equals(DefRoot.ROOT)) layout = layout.getNode("layout").getNodes()[0]; XLayElement root = getActivator().createObject(XLayElement.class, layout.getName()); root.setConfig(layout); elements = new HashMap<String, XLayElement>(); model = new LayModel(root, elements); build(root,layout); return this; }
protected void build(XLayElement parent, ResourceNode layout) throws Exception { ResourceNode layoutLayout = layout.getNode("layout"); if (layoutLayout == null) return; for (ResourceNode cChild : layoutLayout.getNodes()) { XLayElement child = getActivator().createObject(XLayElement.class, cChild.getName()); parent.doAppendChild(child,cChild); child.setConfig(cChild); // remember if have name String name = cChild.getExtracted("name"); if (name != null) elements.put(name, child); // recursion build(child, cChild); } }
String value = a.getAttribute("type"); try { Object obj = act.createObject(value); xmlToPojo(a,obj,factory,act); attr.set(to, obj);
protected void build(XLayElement parent, IConfig layout) throws Exception { IConfig layoutLayout = layout.getNode("layout"); if (layoutLayout == null) return; for (IConfig cChild : layoutLayout.getNodes()) { XLayElement child = getActivator().createObject(XLayElement.class, cChild.getName()); parent.doAppendChild(child,cChild); child.setConfig(cChild); // remember if have name String name = cChild.getExtracted("name"); if (name != null) elements.put(name, child); // recursion build(child, cChild); } }
/** * <p>doBuildChild.</p> * * @param parent a {@link de.mhus.lib.form.LayoutComposite} object. * @param subConfig a {@link de.mhus.lib.core.directory.ResourceNode} object. * @return a {@link de.mhus.lib.form.LayoutElement} object. * @throws java.lang.Exception if any. */ public LayoutElement doBuildChild(LayoutComposite parent, ResourceNode subConfig) throws Exception { LayoutElement out = null; if (subConfig.getName().equals(ELEMENT)) out = new LayoutDataElement(); else if (subConfig.getName().equals(ELEMENT_COMPOSITE)) out = new LayoutComposite(); else if (subConfig.getName().equals(ELEMENT_SPLIT)) out = new LayoutSplit(); else if (subConfig.getName().equals(ELEMENT_OVERLAY)) out = new LayoutOverlay(); else if (subConfig.getName().equals(ELEMENT_ACTIONS)) out = new LayoutActions(); else out = getActivator().createObject(LayoutElement.class,subConfig.getName()); if (out != null) out.init(parent, subConfig); return out; }
if (clazzName != null && !initiators.containsKey(name)) { MApi.dirtyLog("add initiator",name); CfgInitiator initiator = activator.createObject(CfgInitiator.class, clazzName); initiators.put(name, new Object[] {initiator, node });
/** * <p>doBuildUi.</p> * * @param element a {@link de.mhus.lib.form.LayoutElement} object. * @return a {@link de.mhus.lib.form.UiElement} object. * @throws java.lang.Exception if any. */ public UiElement doBuildUi(LayoutElement element) throws Exception { try { UiElement out = null; if (MString.isEmpty(element.getType())) { try { out = getActivator().createObject(UiElement.class,element.getConfig().getName()); } catch (ClassNotFoundException | InstantiationException cnf) { log().i(element.getConfig().getName(),cnf.toString()); } } else { out = getActivator().createObject(UiElement.class,element.getType()); } return out; } catch (Throwable t) { throw new MException("build failed", element.getConfig().getName(), element.getType(), t); } } }