@Override protected void enterData(final Node dataNode) { final Data data = new Data(); data.setName(resolvedAttribute(dataNode, AttributeName.NAME)); data.setSourceLocation(getSourceLocation(dataNode)); final NamedValuePipe interceptor = interceptorFactory.createNamedValueInterceptor(); final NamedValuePipe delegate; if (interceptor == null) { delegate = data; } else { delegate = interceptor; data.addNamedValueSource(delegate); } final String source = resolvedAttribute(dataNode, AttributeName.SOURCE); metamorph.registerNamedValueReceiver(source, delegate); stack.push(new StackFrame(data)); }
@Override protected void exitData(final Node node) { final NamedValuePipe dataPipe = stack.pop().getPipe(); final NamedValuePipe interceptor = interceptorFactory.createNamedValueInterceptor(); final NamedValuePipe delegate; if (interceptor == null) { delegate = dataPipe; } else { delegate = interceptor; delegate.addNamedValueSource(dataPipe); } final StackFrame parent = stack.peek(); if (parent.isInEntityName()) { // Protected xsd schema and by assertion in enterName: ((Entity) parent.getPipe()).setNameSource(delegate); } else if (parent.isInCondition()) { // Protected xsd schema and by assertion in enterIf: ((ConditionAware) parent.getPipe()).setConditionSource(delegate); } else { parent.getPipe().addNamedValueSource(delegate); } }
final NamedValuePipe interceptor = interceptorFactory.createNamedValueInterceptor(); final NamedValuePipe delegate; if (interceptor == null) {
final NamedValuePipe tailPipe = currentCollect.getPipe(); final NamedValuePipe interceptor = interceptorFactory.createNamedValueInterceptor(); final NamedValuePipe delegate; if (interceptor == null || tailPipe instanceof Entity) {