类javax.xml.bind.UnmarshallerHandler源码实例Demo

下面列出了怎么用javax.xml.bind.UnmarshallerHandler的API类实例代码及写法,或者点击链接到github查看源代码。

@Override
public MultiDeleteRequest readFrom(Class<MultiDeleteRequest> type,
    Type genericType, Annotation[] annotations, MediaType mediaType,
    MultivaluedMap<String, String> httpHeaders, InputStream entityStream) {
  try {
    UnmarshallerHandler unmarshallerHandler =
        context.createUnmarshaller().getUnmarshallerHandler();

    XmlNamespaceFilter filter =
        new XmlNamespaceFilter("http://s3.amazonaws.com/doc/2006-03-01/");
    filter.setContentHandler(unmarshallerHandler);
    filter.setParent(xmlReader);
    filter.parse(new InputSource(entityStream));
    return (MultiDeleteRequest) unmarshallerHandler.getResult();
  } catch (Exception e) {
    throw new WebApplicationException("Can't parse request body to XML.", e);
  }
}
 
@Override
public CompleteMultipartUploadRequest readFrom(
    Class<CompleteMultipartUploadRequest> aClass, Type type,
    Annotation[] annotations, MediaType mediaType,
    MultivaluedMap<String, String> multivaluedMap,
    InputStream inputStream) throws IOException, WebApplicationException {
  try {
    UnmarshallerHandler unmarshallerHandler =
        context.createUnmarshaller().getUnmarshallerHandler();
    XmlNamespaceFilter filter =
        new XmlNamespaceFilter(S3_XML_NAMESPACE);
    filter.setContentHandler(unmarshallerHandler);
    filter.setParent(xmlReader);
    filter.parse(new InputSource(inputStream));
    return (CompleteMultipartUploadRequest) unmarshallerHandler.getResult();
  } catch (Exception e) {
    throw new WebApplicationException("Can't parse request body to XML.", e);
  }
}
 
源代码3 项目: rice   文件: JAXBConfigImpl.java
protected org.kuali.rice.core.impl.config.property.Config unmarshal(Unmarshaller unmarshaller, InputStream in)
        throws SAXException, ParserConfigurationException, IOException,
        IllegalStateException, JAXBException {
    SAXParserFactory spf = SAXParserFactory.newInstance();
    spf.setNamespaceAware(true);

    XMLFilter filter = new ConfigNamespaceURIFilter();
    filter.setParent(spf.newSAXParser().getXMLReader());

    UnmarshallerHandler handler = unmarshaller.getUnmarshallerHandler();
    filter.setContentHandler(handler);

    filter.parse(new InputSource(in));

    return (org.kuali.rice.core.impl.config.property.Config) handler.getResult();
}
 
源代码4 项目: tomee   文件: JaxbPersistenceFactory.java
public static <T> T getPersistence(final Class<T> clazz, final InputStream persistenceDescriptor) throws Exception {
    final JAXBContext jc = clazz.getClassLoader() == JaxbPersistenceFactory.class.getClassLoader() ?
            JaxbJavaee.getContext(clazz) : JAXBContextFactory.newInstance(clazz);
    final Unmarshaller u = jc.createUnmarshaller();
    final UnmarshallerHandler uh = u.getUnmarshallerHandler();

    // create a new XML parser
    final SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setNamespaceAware(true);
    factory.setValidating(true);
    final SAXParser parser = factory.newSAXParser();

    final XMLReader xmlReader = parser.getXMLReader();

    // Create a filter to intercept events
    final PersistenceFilter xmlFilter = new PersistenceFilter(xmlReader);

    // Be sure the filter has the JAXB content handler set (or it wont work)
    xmlFilter.setContentHandler(uh);
    final SAXSource source = new SAXSource(xmlFilter, new InputSource(persistenceDescriptor));

    return (T) u.unmarshal(source);
}
 
源代码5 项目: jlibs   文件: ParseJAXB.java
@Override
protected void parsingCompleted(Exchange exchange, Message msg, AsyncXMLReader xmlReader){
    UnmarshallerHandler handler = (UnmarshallerHandler)xmlReader.getContentHandler();
    try{
        String contentType = msg.getPayload().getMediaType().withCharset(IOUtil.UTF_8.name()).toString();
        msg.setPayload(new JAXBPayload(contentType, handler.getResult(), jaxbContext));
    }catch(Throwable thr){
        exchange.resume(thr);
        return;
    }
    super.parsingCompleted(exchange, msg, xmlReader);
}
 
源代码6 项目: TencentKona-8   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码7 项目: jdk8u60   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码8 项目: openjdk-jdk8u   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码9 项目: openjdk-jdk8u-backup   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码10 项目: openjdk-jdk9   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码11 项目: hottub   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码12 项目: openjdk-8-source   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码13 项目: openjdk-8   文件: UnmarshallerImpl.java
public UnmarshallerHandler getUnmarshallerHandler() {
    return getUnmarshallerHandler(true,null);
}
 
源代码14 项目: sis   文件: PooledUnmarshaller.java
/**
 * Delegates to the wrapped unmarshaller.
 */
@Override
public UnmarshallerHandler getUnmarshallerHandler() {
    return unmarshaller.getUnmarshallerHandler();
}