public SAXElementVisitorMap getCombinedOptimizedConfig(String[] elementNames) { SAXElementVisitorMap combinedConfig = new SAXElementVisitorMap(); combinedConfig.setVisitBefores(new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>()); combinedConfig.setChildVisitors(new ArrayList<ContentHandlerConfigMap<SAXVisitChildren>>()); combinedConfig.setVisitAfters(new ArrayList<ContentHandlerConfigMap<SAXVisitAfter>>()); combinedConfig.setVisitCleanables(new ArrayList<ContentHandlerConfigMap<VisitLifecycleCleanable>>()); List<ContentHandlerConfigMap<SAXVisitBefore>> elementVisitBefores = elementConfig.getVisitBefores(); List<ContentHandlerConfigMap<SAXVisitChildren>> elementChildVisitors = elementConfig.getChildVisitors(); List<ContentHandlerConfigMap<SAXVisitAfter>> elementVisitAfteres = elementConfig.getVisitAfters(); List<ContentHandlerConfigMap<VisitLifecycleCleanable>> elementVisitCleanables = elementConfig.getVisitCleanables(); combinedConfig.getVisitBefores().addAll(elementVisitBefores); combinedConfig.getChildVisitors().addAll(elementChildVisitors); combinedConfig.getVisitAfters().addAll(elementVisitAfteres); combinedConfig.getVisitCleanables().addAll(elementVisitCleanables); combinedConfig.initAccumulateText(elementConfig); combinedConfig.initAcquireWriterFor(elementConfig); if(combinedConfig.getVisitBefores().isEmpty()) { combinedConfig.setVisitBefores(null); if(combinedConfig.getChildVisitors().isEmpty()) { combinedConfig.setChildVisitors(null);
public void initAcquireWriterFor() { acquireWriterFor = getAnnotatedHandler(visitBefores, StreamResultWriter.class, true); if(acquireWriterFor == null) { acquireWriterFor = getAnnotatedHandler(visitAfters, StreamResultWriter.class, true); } }
public void addIndexCounters() { Map<String, SAXElementVisitorMap> optimizedVisitorConfigCopy = new LinkedHashMap<String, SAXElementVisitorMap>(optimizedVisitorConfig); Collection<SAXElementVisitorMap> visitorMaps = optimizedVisitorConfigCopy.values(); for(SAXElementVisitorMap visitorMap : visitorMaps) { addIndexCounters(visitorMap.getVisitBefores()); addIndexCounters(visitorMap.getChildVisitors()); addIndexCounters(visitorMap.getVisitAfters()); } }
private void addIndexCounter(ElementIndexCounter indexCounter) { SelectorStep selectorStep = indexCounter.getSelectorStep(); QName targetElement = selectorStep.getTargetElement(); String targetElementName = targetElement.getLocalPart(); String targetNS = targetElement.getNamespaceURI(); SAXElementVisitorMap visitorMap = optimizedVisitorConfig.get(targetElementName); if(visitorMap == null) { visitorMap = new SAXElementVisitorMap(); optimizedVisitorConfig.put(targetElementName, visitorMap); } List<ContentHandlerConfigMap<SAXVisitBefore>> vbs = visitorMap.getVisitBefores(); if(vbs == null) { vbs = new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>(); visitorMap.setVisitBefores(vbs); } SmooksResourceConfiguration resourceConfig = new SmooksResourceConfiguration(targetElementName); if(targetNS != null && targetNS != XMLConstants.NULL_NS_URI) { resourceConfig.setSelectorNamespaceURI(targetNS); } vbs.add(0, new ContentHandlerConfigMap(indexCounter, resourceConfig)); }
SAXElementVisitorMap entry = new SAXElementVisitorMap(); List<ContentHandlerConfigMap<SAXVisitBefore>> befores = visitBefores.getTable().get(elementName); List<ContentHandlerConfigMap<SAXVisitChildren>> children = childVisitors.getTable().get(elementName); befores.addAll(starVBs); entry.setVisitBefores(befores); entry.setChildVisitors(children); entry.setVisitAfters(afters); entry.setVisitCleanables(cleanables); entry.initAccumulateText(); entry.initAcquireWriterFor();
if(currentProcessor.elementVisitorConfig != null) { List<ContentHandlerConfigMap<SAXVisitBefore>> visitBeforeMappings = currentProcessor.elementVisitorConfig.getVisitBefores(); if(elementVisitorConfig.accumulateText()) { currentProcessor.element.accumulateText(); SAXVisitor acquireWriterFor = elementVisitorConfig.acquireWriterFor(); if(acquireWriterFor != null) { element.getWriter(acquireWriterFor);
List<ContentHandlerConfigMap<SAXVisitAfter>> visitAfterMappings = currentProcessor.elementVisitorConfig.getVisitAfters(); List<ContentHandlerConfigMap<VisitLifecycleCleanable>> visitCleanables = currentProcessor.elementVisitorConfig.getVisitCleanables();
List<ContentHandlerConfigMap<SAXVisitChildren>> visitChildMappings = currentProcessor.elementVisitorConfig.getChildVisitors();
public SAXElementVisitorMap merge(SAXElementVisitorMap map) { if(map == null) { // No need to merge... return this; } SAXElementVisitorMap merge = new SAXElementVisitorMap(); merge.visitBefores = new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>(); merge.childVisitors = new ArrayList<ContentHandlerConfigMap<SAXVisitChildren>>(); merge.visitAfters = new ArrayList<ContentHandlerConfigMap<SAXVisitAfter>>(); merge.visitCleanables = new ArrayList<ContentHandlerConfigMap<VisitLifecycleCleanable>>(); merge.visitBefores.addAll(visitBefores); merge.visitBefores.addAll(map.visitBefores); merge.childVisitors.addAll(childVisitors); merge.childVisitors.addAll(map.childVisitors); merge.visitAfters.addAll(visitAfters); merge.visitAfters.addAll(map.visitAfters); merge.visitCleanables.addAll(visitCleanables); merge.visitCleanables.addAll(map.visitCleanables); merge.accumulateText = (accumulateText || merge.accumulateText); return merge; }
SAXElementVisitorMap entry = new SAXElementVisitorMap(); List<ContentHandlerConfigMap<SAXVisitBefore>> befores = visitBefores.getTable().get(elementName); List<ContentHandlerConfigMap<SAXVisitChildren>> children = childVisitors.getTable().get(elementName); befores.addAll(starVBs); entry.setVisitBefores(befores); entry.setChildVisitors(children); entry.setVisitAfters(afters); entry.setVisitCleanables(cleanables); entry.initAccumulateText(); entry.initAcquireWriterFor();
public void addIndexCounters() { Map<String, SAXElementVisitorMap> optimizedVisitorConfigCopy = new LinkedHashMap<String, SAXElementVisitorMap>(optimizedVisitorConfig); Collection<SAXElementVisitorMap> visitorMaps = optimizedVisitorConfigCopy.values(); for(SAXElementVisitorMap visitorMap : visitorMaps) { addIndexCounters(visitorMap.getVisitBefores()); addIndexCounters(visitorMap.getChildVisitors()); addIndexCounters(visitorMap.getVisitAfters()); } }
private void addIndexCounter(ElementIndexCounter indexCounter) { SelectorStep selectorStep = indexCounter.getSelectorStep(); QName targetElement = selectorStep.getTargetElement(); String targetElementName = targetElement.getLocalPart(); String targetNS = targetElement.getNamespaceURI(); SAXElementVisitorMap visitorMap = optimizedVisitorConfig.get(targetElementName); if(visitorMap == null) { visitorMap = new SAXElementVisitorMap(); optimizedVisitorConfig.put(targetElementName, visitorMap); } List<ContentHandlerConfigMap<SAXVisitBefore>> vbs = visitorMap.getVisitBefores(); if(vbs == null) { vbs = new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>(); visitorMap.setVisitBefores(vbs); } SmooksResourceConfiguration resourceConfig = new SmooksResourceConfiguration(targetElementName); if(!XMLConstants.NULL_NS_URI.equals(targetNS)) { resourceConfig.setSelectorNamespaceURI(targetNS); } vbs.add(0, new ContentHandlerConfigMap(indexCounter, resourceConfig)); }
if(currentProcessor.elementVisitorConfig != null) { List<ContentHandlerConfigMap<SAXVisitBefore>> visitBeforeMappings = currentProcessor.elementVisitorConfig.getVisitBefores(); if(elementVisitorConfig.accumulateText()) { currentProcessor.element.accumulateText(); SAXVisitor acquireWriterFor = elementVisitorConfig.acquireWriterFor(); if(acquireWriterFor != null) { element.getWriter(acquireWriterFor);
List<ContentHandlerConfigMap<SAXVisitAfter>> visitAfterMappings = currentProcessor.elementVisitorConfig.getVisitAfters(); List<ContentHandlerConfigMap<VisitLifecycleCleanable>> visitCleanables = currentProcessor.elementVisitorConfig.getVisitCleanables();
List<ContentHandlerConfigMap<SAXVisitChildren>> visitChildMappings = currentProcessor.elementVisitorConfig.getChildVisitors();
public SAXElementVisitorMap merge(SAXElementVisitorMap map) { if(map == null) { // No need to merge... return this; } SAXElementVisitorMap merge = new SAXElementVisitorMap(); merge.visitBefores = new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>(); merge.childVisitors = new ArrayList<ContentHandlerConfigMap<SAXVisitChildren>>(); merge.visitAfters = new ArrayList<ContentHandlerConfigMap<SAXVisitAfter>>(); merge.visitCleanables = new ArrayList<ContentHandlerConfigMap<VisitLifecycleCleanable>>(); merge.visitBefores.addAll(visitBefores); merge.visitBefores.addAll(map.visitBefores); merge.childVisitors.addAll(childVisitors); merge.childVisitors.addAll(map.childVisitors); merge.visitAfters.addAll(visitAfters); merge.visitAfters.addAll(map.visitAfters); merge.visitCleanables.addAll(visitCleanables); merge.visitCleanables.addAll(map.visitCleanables); merge.accumulateText = (accumulateText || merge.accumulateText); return merge; }
public SAXElementVisitorMap getCombinedOptimizedConfig(String[] elementNames) { SAXElementVisitorMap combinedConfig = new SAXElementVisitorMap(); combinedConfig.setVisitBefores(new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>()); combinedConfig.setChildVisitors(new ArrayList<ContentHandlerConfigMap<SAXVisitChildren>>()); combinedConfig.setVisitAfters(new ArrayList<ContentHandlerConfigMap<SAXVisitAfter>>()); combinedConfig.setVisitCleanables(new ArrayList<ContentHandlerConfigMap<VisitLifecycleCleanable>>()); List<ContentHandlerConfigMap<SAXVisitBefore>> elementVisitBefores = elementConfig.getVisitBefores(); List<ContentHandlerConfigMap<SAXVisitChildren>> elementChildVisitors = elementConfig.getChildVisitors(); List<ContentHandlerConfigMap<SAXVisitAfter>> elementVisitAfteres = elementConfig.getVisitAfters(); List<ContentHandlerConfigMap<VisitLifecycleCleanable>> elementVisitCleanables = elementConfig.getVisitCleanables(); combinedConfig.getVisitBefores().addAll(elementVisitBefores); combinedConfig.getChildVisitors().addAll(elementChildVisitors); combinedConfig.getVisitAfters().addAll(elementVisitAfteres); combinedConfig.getVisitCleanables().addAll(elementVisitCleanables); combinedConfig.initAccumulateText(elementConfig); combinedConfig.initAcquireWriterFor(elementConfig); if(combinedConfig.getVisitBefores().isEmpty()) { combinedConfig.setVisitBefores(null); if(combinedConfig.getChildVisitors().isEmpty()) { combinedConfig.setChildVisitors(null);
SAXElementVisitorMap entry = new SAXElementVisitorMap(); List<ContentHandlerConfigMap<SAXVisitBefore>> befores = visitBefores.getTable().get(elementName); List<ContentHandlerConfigMap<SAXVisitChildren>> children = childVisitors.getTable().get(elementName); befores.addAll(starVBs); entry.setVisitBefores(befores); entry.setChildVisitors(children); entry.setVisitAfters(afters); entry.setVisitCleanables(cleanables); entry.initAccumulateText(); entry.initAcquireWriterFor();
public void addIndexCounters() { Map<String, SAXElementVisitorMap> optimizedVisitorConfigCopy = new LinkedHashMap<String, SAXElementVisitorMap>(optimizedVisitorConfig); Collection<SAXElementVisitorMap> visitorMaps = optimizedVisitorConfigCopy.values(); for(SAXElementVisitorMap visitorMap : visitorMaps) { addIndexCounters(visitorMap.getVisitBefores()); addIndexCounters(visitorMap.getChildVisitors()); addIndexCounters(visitorMap.getVisitAfters()); } }
private void addIndexCounter(ElementIndexCounter indexCounter) { SelectorStep selectorStep = indexCounter.getSelectorStep(); QName targetElement = selectorStep.getTargetElement(); String targetElementName = targetElement.getLocalPart(); String targetNS = targetElement.getNamespaceURI(); SAXElementVisitorMap visitorMap = optimizedVisitorConfig.get(targetElementName); if(visitorMap == null) { visitorMap = new SAXElementVisitorMap(); optimizedVisitorConfig.put(targetElementName, visitorMap); } List<ContentHandlerConfigMap<SAXVisitBefore>> vbs = visitorMap.getVisitBefores(); if(vbs == null) { vbs = new ArrayList<ContentHandlerConfigMap<SAXVisitBefore>>(); visitorMap.setVisitBefores(vbs); } SmooksResourceConfiguration resourceConfig = new SmooksResourceConfiguration(targetElementName); if(!XMLConstants.NULL_NS_URI.equals(targetNS)) { resourceConfig.setSelectorNamespaceURI(targetNS); } vbs.add(0, new ContentHandlerConfigMap(indexCounter, resourceConfig)); }