/** * Write a model to an OutputStream. * @param model * @param os * @param context * @throws ContributionWriteException */ public void write(Object model, OutputStream os, ProcessorContext context) throws ContributionWriteException { try { XMLStreamWriter writer = outputFactory.createXMLStreamWriter(os); write(model, writer, context); writer.flush(); writer.close(); } catch (XMLStreamException e) { ContributionWriteException cw = new ContributionWriteException(e); error(context.getMonitor(), "ContributionWriteException", outputFactory, cw); throw cw; } }
reader.nextTag(); QName name = reader.getName(); Object mo = read(reader, context); if (type.isInstance(mo)) { return type.cast(mo); } else { error(monitor, "UnrecognizedElementException", reader, name); UnrecognizedElementException e = new UnrecognizedElementException(name); throw e; e.setLine(location.getLineNumber()); e.setColumn(location.getColumnNumber()); error(monitor, "ContributionReadException", reader, e); throw e; } finally { error(monitor, "ContributionReadException", inputFactory, ce); throw ce;
StAXHelper stAXHelper = StAXHelper.getInstance(extensionPointRegistry); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPointRegistry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, null, stAXHelper.getOutputFactory()); ByteArrayOutputStream bos = new ByteArrayOutputStream(); staxProcessor.write(model, bos, new ProcessorContext(extensionPointRegistry)); bos.close();
/** * Constructs a new extension point. */ public DefaultURLArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { super(extensionPoints); FactoryExtensionPoint modelFactories = this.registry.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory); }
public void saveXMLElement(Object model, XMLStreamWriter writer, Monitor monitor) throws XMLStreamException, ContributionWriteException { init(); staxProcessor.write(model, writer, new ProcessorContext(monitor)); }
public Object read(XMLStreamReader source, ProcessorContext context) throws ContributionReadException, XMLStreamException { Monitor monitor = context.getMonitor(); // Delegate to the processor associated with the element QName int event = source.getEventType(); if (event == XMLStreamConstants.START_DOCUMENT) { while (source.next() != XMLStreamReader.START_ELEMENT); } QName name = source.getName(); StAXArtifactProcessor<?> processor = (StAXArtifactProcessor<?>)processors.getProcessor(name); if (processor == null) { Location location = source.getLocation(); error(monitor, "ElementCannotBeProcessed", processors, name, location); StAXArtifactProcessor anyElementProcessor = processors.getProcessor(ANY_ELEMENT); if (anyElementProcessor != null) { return anyElementProcessor.read(source, context); } else { return null; } } return processor.read(source, context); }
@SuppressWarnings("unchecked") public Object loadXMLElement(XMLStreamReader reader, Monitor monitor) throws ContributionReadException, XMLStreamException { init(); return staxProcessor.read(reader, new ProcessorContext(monitor)); }
StAXHelper stAXHelper = StAXHelper.getInstance(extensionPointRegistry); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPointRegistry.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); ExtensibleStAXArtifactProcessor staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, null, stAXHelper.getOutputFactory()); ByteArrayOutputStream bos = new ByteArrayOutputStream(); staxProcessor.write(model, bos, new ProcessorContext(extensionPointRegistry)); bos.close();
/** * Constructs a new extension point. */ public DefaultURLArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { super(extensionPoints); FactoryExtensionPoint modelFactories = this.registry.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); StAXArtifactProcessorExtensionPoint staxProcessors = extensionPoints.getExtensionPoint(StAXArtifactProcessorExtensionPoint.class); staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory); }
public void saveXMLDocument(Object model, Writer writer, Monitor monitor) throws XMLStreamException, ContributionWriteException { init(); XMLStreamWriter streamWriter = staxHelper.createXMLStreamWriter(writer); staxProcessor.write(model, streamWriter, new ProcessorContext(monitor)); }
public Object read(XMLStreamReader source, ProcessorContext context) throws ContributionReadException, XMLStreamException { Monitor monitor = context.getMonitor(); // Delegate to the processor associated with the element QName int event = source.getEventType(); if (event == XMLStreamConstants.START_DOCUMENT) { while (source.next() != XMLStreamReader.START_ELEMENT); } QName name = source.getName(); StAXArtifactProcessor<?> processor = (StAXArtifactProcessor<?>)processors.getProcessor(name); if (processor == null) { Location location = source.getLocation(); error(monitor, "ElementCannotBeProcessed", processors, name, location); StAXArtifactProcessor anyElementProcessor = processors.getProcessor(ANY_ELEMENT); if (anyElementProcessor != null) { return anyElementProcessor.read(source, context); } else { return null; } } return processor.read(source, context); }
/** * Write a model to an OutputStream. * @param model * @param os * @param context * @throws ContributionWriteException */ public void write(Object model, OutputStream os, ProcessorContext context) throws ContributionWriteException { try { XMLStreamWriter writer = outputFactory.createXMLStreamWriter(os); write(model, writer, context); writer.flush(); writer.close(); } catch (XMLStreamException e) { ContributionWriteException cw = new ContributionWriteException(e); error(context.getMonitor(), "ContributionWriteException", outputFactory, cw); throw cw; } }
/** * Constructs a new extension point. */ public DefaultStAXArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { super(extensionPoints); this.modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); this.extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(this, inputFactory, outputFactory); StAXAttributeProcessorExtensionPoint attributeExtensionPoint = extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); this.extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint, inputFactory, outputFactory); }
reader.nextTag(); QName name = reader.getName(); Object mo = read(reader, context); if (type.isInstance(mo)) { return type.cast(mo); } else { error(monitor, "UnrecognizedElementException", reader, name); UnrecognizedElementException e = new UnrecognizedElementException(name); throw e; e.setLine(location.getLineNumber()); e.setColumn(location.getColumnNumber()); error(monitor, "ContributionReadException", reader, e); throw e; } finally { error(monitor, "ContributionReadException", inputFactory, ce); throw ce;
/** * Constructs a new extension point. */ public DefaultStAXArtifactProcessorExtensionPoint(ExtensionPointRegistry extensionPoints) { super(extensionPoints); this.modelFactories = extensionPoints.getExtensionPoint(FactoryExtensionPoint.class); XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class); XMLOutputFactory outputFactory = modelFactories.getFactory(XMLOutputFactory.class); this.extensibleStAXProcessor = new ExtensibleStAXArtifactProcessor(this, inputFactory, outputFactory); StAXAttributeProcessorExtensionPoint attributeExtensionPoint = extensionPoints.getExtensionPoint(StAXAttributeProcessorExtensionPoint.class); this.extensibleStAXAttributeProcessor = new ExtensibleStAXAttributeProcessor(attributeExtensionPoint, inputFactory, outputFactory); }
staxProcessor = new ExtensibleStAXArtifactProcessor(registry);