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

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

源代码1 项目: TencentKona-8   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码2 项目: jdk8u60   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码3 项目: steady   文件: SecurityTokenServiceProvider.java
private Object convertToJAXBObject(Source source) throws Exception {
    //this is entirely to work around http://java.net/jira/browse/JAXB-909
    //if that bug is ever fixed and we can detect it, we can remove this 
    //complete and total HACK HACK HACK and replace with just:  
    //Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    //JAXBElement<?> jaxbElement = (JAXBElement<?>) unmarshaller.unmarshal(source);
    //return jaxbElement.getValue();
    
    Document d = StaxUtils.read(source);
    Binder<Node> binder = jaxbContext.createBinder();
    JAXBElement<?> jaxbElement = (JAXBElement<?>)binder.unmarshal(d);
    walkDom("", d.getDocumentElement(), binder, null);
    return jaxbElement.getValue();
}
 
源代码4 项目: steady   文件: SecurityTokenServiceProvider.java
private void walkDom(String pfx, Element element, Binder<Node> binder, Object parent) {
    try {
        Object o = binder.getJAXBNode(element);
        if (o instanceof JAXBElement) {
            o = ((JAXBElement<?>)o).getValue();
        }
        //System.out.println(pfx + DOMUtils.getElementQName(element) + " ->  " 
        //    + (o == null ? "null" : o.getClass()));
        if (o == null && parent != null) {
            // if it's not able to bind to an object, it's possibly an xsd:any
            // we'll check the parent for the standard "any" and replace with 
            // the original element.
            Field f = parent.getClass().getDeclaredField("any");
            if (f.getAnnotation(XmlAnyElement.class) != null) {
                Object old = ReflectionUtil.setAccessible(f).get(parent);
                if (old instanceof Element
                    && DOMUtils.getElementQName(element).equals(DOMUtils.getElementQName((Element)old))) {
                    ReflectionUtil.setAccessible(f).set(parent, element);
                }
            }
        }
        if (o == null) {
            return;
        }
        Node nd = element.getFirstChild();
        while (nd != null) {
            if (nd instanceof Element) {
                walkDom(pfx + "  ", (Element)nd, binder, o);
            }
            nd = nd.getNextSibling();
        }
    } catch (Throwable t) {
        //ignore -this is a complete hack anyway
    }
}
 
源代码5 项目: steady   文件: SecurityTokenServiceProvider.java
private Object convertToJAXBObject(Source source) throws Exception {
    //this is entirely to work around http://java.net/jira/browse/JAXB-909
    //if that bug is ever fixed and we can detect it, we can remove this 
    //complete and total HACK HACK HACK and replace with just:  
    //Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    //JAXBElement<?> jaxbElement = (JAXBElement<?>) unmarshaller.unmarshal(source);
    //return jaxbElement.getValue();
    
    Document d = StaxUtils.read(source);
    Binder<Node> binder = jaxbContext.createBinder();
    JAXBElement<?> jaxbElement = (JAXBElement<?>)binder.unmarshal(d);
    walkDom("", d.getDocumentElement(), binder, null);
    return jaxbElement.getValue();
}
 
源代码6 项目: steady   文件: SecurityTokenServiceProvider.java
private void walkDom(String pfx, Element element, Binder<Node> binder, Object parent) {
    try {
        Object o = binder.getJAXBNode(element);
        if (o instanceof JAXBElement) {
            o = ((JAXBElement<?>)o).getValue();
        }
        //System.out.println(pfx + DOMUtils.getElementQName(element) + " ->  " 
        //    + (o == null ? "null" : o.getClass()));
        if (o == null && parent != null) {
            // if it's not able to bind to an object, it's possibly an xsd:any
            // we'll check the parent for the standard "any" and replace with 
            // the original element.
            Field f = parent.getClass().getDeclaredField("any");
            if (f.getAnnotation(XmlAnyElement.class) != null) {
                Object old = ReflectionUtil.setAccessible(f).get(parent);
                if (old instanceof Element
                    && DOMUtils.getElementQName(element).equals(DOMUtils.getElementQName((Element)old))) {
                    ReflectionUtil.setAccessible(f).set(parent, element);
                }
            }
        }
        if (o == null) {
            return;
        }
        Node nd = element.getFirstChild();
        while (nd != null) {
            if (nd instanceof Element) {
                walkDom(pfx + "  ", (Element)nd, binder, o);
            }
            nd = nd.getNextSibling();
        }
    } catch (Throwable t) {
        //ignore -this is a complete hack anyway
    }
}
 
源代码7 项目: steady   文件: SecurityTokenServiceProvider.java
private Object convertToJAXBObject(Source source) throws Exception {
    //this is entirely to work around http://java.net/jira/browse/JAXB-909
    //if that bug is ever fixed and we can detect it, we can remove this 
    //complete and total HACK HACK HACK and replace with just:  
    //Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    //JAXBElement<?> jaxbElement = (JAXBElement<?>) unmarshaller.unmarshal(source);
    //return jaxbElement.getValue();
    
    Document d = StaxUtils.read(source);
    Binder<Node> binder = jaxbContext.createBinder();
    JAXBElement<?> jaxbElement = (JAXBElement<?>)binder.unmarshal(d);
    walkDom("", d.getDocumentElement(), binder, null);
    return jaxbElement.getValue();
}
 
源代码8 项目: steady   文件: SecurityTokenServiceProvider.java
private void walkDom(String pfx, Element element, Binder<Node> binder, Object parent) {
    try {
        Object o = binder.getJAXBNode(element);
        if (o instanceof JAXBElement) {
            o = ((JAXBElement<?>)o).getValue();
        }
        //System.out.println(pfx + DOMUtils.getElementQName(element) + " ->  " 
        //    + (o == null ? "null" : o.getClass()));
        if (o == null && parent != null) {
            // if it's not able to bind to an object, it's possibly an xsd:any
            // we'll check the parent for the standard "any" and replace with 
            // the original element.
            Field f = parent.getClass().getDeclaredField("any");
            if (f.getAnnotation(XmlAnyElement.class) != null) {
                Object old = ReflectionUtil.setAccessible(f).get(parent);
                if (old instanceof Element
                    && DOMUtils.getElementQName(element).equals(DOMUtils.getElementQName((Element)old))) {
                    ReflectionUtil.setAccessible(f).set(parent, element);
                }
            }
        }
        if (o == null) {
            return;
        }
        Node nd = element.getFirstChild();
        while (nd != null) {
            if (nd instanceof Element) {
                walkDom(pfx + "  ", (Element)nd, binder, o);
            }
            nd = nd.getNextSibling();
        }
    } catch (Throwable t) {
        //ignore -this is a complete hack anyway
    }
}
 
源代码9 项目: steady   文件: SecurityTokenServiceProvider.java
private Object convertToJAXBObject(Source source) throws Exception {
    //this is entirely to work around http://java.net/jira/browse/JAXB-909
    //if that bug is ever fixed and we can detect it, we can remove this 
    //complete and total HACK HACK HACK and replace with just:  
    //Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    //JAXBElement<?> jaxbElement = (JAXBElement<?>) unmarshaller.unmarshal(source);
    //return jaxbElement.getValue();
    
    Document d = StaxUtils.read(source);
    Binder<Node> binder = jaxbContext.createBinder();
    JAXBElement<?> jaxbElement = (JAXBElement<?>)binder.unmarshal(d);
    walkDom("", d.getDocumentElement(), binder, null);
    return jaxbElement.getValue();
}
 
源代码10 项目: steady   文件: SecurityTokenServiceProvider.java
private void walkDom(String pfx, Element element, Binder<Node> binder, Object parent) {
    try {
        Object o = binder.getJAXBNode(element);
        if (o instanceof JAXBElement) {
            o = ((JAXBElement<?>)o).getValue();
        }
        //System.out.println(pfx + DOMUtils.getElementQName(element) + " ->  " 
        //    + (o == null ? "null" : o.getClass()));
        if (o == null && parent != null) {
            // if it's not able to bind to an object, it's possibly an xsd:any
            // we'll check the parent for the standard "any" and replace with 
            // the original element.
            Field f = parent.getClass().getDeclaredField("any");
            if (f.getAnnotation(XmlAnyElement.class) != null) {
                Object old = ReflectionUtil.setAccessible(f).get(parent);
                if (old instanceof Element
                    && DOMUtils.getElementQName(element).equals(DOMUtils.getElementQName((Element)old))) {
                    ReflectionUtil.setAccessible(f).set(parent, element);
                }
            }
        }
        if (o == null) {
            return;
        }
        Node nd = element.getFirstChild();
        while (nd != null) {
            if (nd instanceof Element) {
                walkDom(pfx + "  ", (Element)nd, binder, o);
            }
            nd = nd.getNextSibling();
        }
    } catch (Throwable t) {
        //ignore -this is a complete hack anyway
    }
}
 
源代码11 项目: openjdk-jdk8u   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码12 项目: openjdk-jdk8u-backup   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码13 项目: openjdk-jdk9   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码14 项目: hottub   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码15 项目: openjdk-8-source   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码16 项目: openjdk-8   文件: JAXBContextImpl.java
@Override
public <T> Binder<T> createBinder(Class<T> domType) {
    if(domType==Node.class)
        return (Binder<T>)createBinder();
    else
        return super.createBinder(domType);
}
 
源代码17 项目: cxf   文件: SecurityTokenServiceProvider.java
private Object convertToJAXBObject(Source source) throws Exception {
    //this is entirely to work around http://java.net/jira/browse/JAXB-909
    //if that bug is ever fixed and we can detect it, we can remove this
    //complete and total HACK HACK HACK and replace with just:
    //Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
    //JAXBElement<?> jaxbElement = (JAXBElement<?>) unmarshaller.unmarshal(source);
    //return jaxbElement.getValue();

    Document d = StaxUtils.read(source);
    Binder<Node> binder = jaxbContext.createBinder();
    JAXBElement<?> jaxbElement = (JAXBElement<?>)binder.unmarshal(d);
    walkDom("", d.getDocumentElement(), binder, null);
    return jaxbElement.getValue();
}
 
源代码18 项目: cxf   文件: SecurityTokenServiceProvider.java
private void walkDom(String pfx, Element element, Binder<Node> binder, Object parent) {
    try {
        Object o = binder.getJAXBNode(element);
        if (o instanceof JAXBElement) {
            o = ((JAXBElement<?>)o).getValue();
        }
        //System.out.println(pfx + DOMUtils.getElementQName(element) + " ->  "
        //    + (o == null ? "null" : o.getClass()));
        if (o == null && parent != null) {
            // if it's not able to bind to an object, it's possibly an xsd:any
            // we'll check the parent for the standard "any" and replace with
            // the original element.
            Field f = parent.getClass().getDeclaredField("any");
            if (f.getAnnotation(XmlAnyElement.class) != null) {
                Object old = ReflectionUtil.setAccessible(f).get(parent);
                if (old instanceof Element
                    && DOMUtils.getElementQName(element).equals(DOMUtils.getElementQName((Element)old))) {
                    ReflectionUtil.setAccessible(f).set(parent, element);
                }
            }
        }
        if (o == null) {
            return;
        }
        Node nd = element.getFirstChild();
        while (nd != null) {
            if (nd instanceof Element) {
                walkDom(pfx + "  ", (Element)nd, binder, o);
            }
            nd = nd.getNextSibling();
        }
    } catch (Throwable t) {
        //ignore -this is a complete hack anyway
    }
}
 
源代码19 项目: TencentKona-8   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码20 项目: jdk8u60   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码21 项目: openjdk-jdk8u   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码22 项目: openjdk-jdk8u-backup   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码23 项目: openjdk-jdk9   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码24 项目: hottub   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码25 项目: openjdk-8-source   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}
 
源代码26 项目: openjdk-8   文件: JAXBContextImpl.java
@Override
public Binder<Node> createBinder() {
    return new BinderImpl<Node>(this,new DOMScanner());
}