/* * Generates the initializers for all values that are shared between states (e.g. all instance factories * shared by AddItems overrides). */ private void genSharedFactories(StatesModel model, CodeFragmentList list, String indent) { Map<String, SharedObject> shared = model.sharedObjects; for (Iterator<String> iter = shared.keySet().iterator(); iter.hasNext(); ) { SharedObject symbol = shared.get(iter.next()); String lval = indent + "var " + symbol.name + "_factory:" + NameFormatter.retrieveClassName(standardDefs.CLASS_DEFERREDINSTANCEFROMFUNCTION) + " = \n"; indent += StatesGenerator.INDENT; String suffix = symbol.model.isDeclared() ? "_i" : "_c"; Boolean isTransient = symbol.model.getIsTransient(); String rval = indent + "new " + NameFormatter.toDot(standardDefs.CLASS_DEFERREDINSTANCEFROMFUNCTION) + "(" + symbol.name + suffix + (isTransient ? ", " + symbol.name + "_r" : "") + ");"; indent = indent.substring(0, indent.length() - INDENT.length()); list.add(lval, rval, 0); } }
/* * Generate all necessary binding instance initializers for any data bound overrides. */ private void genBindingInitializers(CodeFragmentList list, String indent) { for (Iterator<StatesModel.Override> iter = bindingsQueue.iterator(); iter.hasNext(); ) { StatesModel.Override symbol = (StatesModel.Override) iter.next(); list.add( indent, NameFormatter.toDot(standardDefs.CLASS_BINDINGMANAGER), ".executeBindings(this, \"" + symbol.declaration + "\", " + symbol.declaration + ");", 0); } }