/** * Recursively traverse all elements with stencil representations and register them - and parent * relationships between them - on export context * * @param element */ private void registerResourcesRecursive(XFormsElement element, XFormsElement parent) { context.registerResource(element, parent); if (element instanceof UIElementContainer) { for (XFormsUIElement child : ((UIElementContainer) element).getChildElements()) { registerResourcesRecursive(child, element); } } if (element instanceof ListUICommonContainer) { for (ListUICommon child : ((ListUICommonContainer) element).getListUICommons()) { registerResourcesRecursive(child, element); } } if (element instanceof ActionContainer) { for (AbstractAction child : ((ActionContainer) element).getActions()) { registerResourcesRecursive(child, element); } } if (element instanceof Switch) { for (Case child : ((Switch) element).getCases()) { registerResourcesRecursive(child, element); } } if (element instanceof LabelContainer) { Label label = ((LabelContainer) element).getLabel(); if (label != null) registerResourcesRecursive(label, element); } if (element instanceof UICommonContainer) { Help help = ((UICommonContainer) element).getHelp(); if (help != null) registerResourcesRecursive(help, element); Hint hint = ((UICommonContainer) element).getHint(); if (hint != null) registerResourcesRecursive(hint, element); Alert alert = ((UICommonContainer) element).getAlert(); if (alert != null) registerResourcesRecursive(alert, element); } }