com.sun.xml.internal.bind.v2.runtime.property.Property Java Examples

The following examples show how to use com.sun.xml.internal.bind.v2.runtime.property.Property. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ClassBeanInfoImpl.java    From openjdk-8 with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #2
Source File: ClassBeanInfoImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #3
Source File: ClassBeanInfoImpl.java    From TencentKona-8 with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #4
Source File: ClassBeanInfoImpl.java    From jdk8u60 with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #5
Source File: ClassBeanInfoImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #6
Source File: ClassBeanInfoImpl.java    From openjdk-8-source with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #7
Source File: ClassBeanInfoImpl.java    From hottub with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #8
Source File: ClassBeanInfoImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 6 votes vote down vote up
public void serializeBody(BeanT bean, XMLSerializer target) throws SAXException, IOException, XMLStreamException {
    if (superClazz != null) {
        superClazz.serializeBody(bean, target);
    }
    try {
        for (Property<BeanT> p : properties) {
            if (retainPropertyInfo) {
                target.currentProperty.set(p);
            }
            boolean isThereAnOverridingProperty = p.isHiddenByOverride();
            if (!isThereAnOverridingProperty || bean.getClass().equals(jaxbType)) {
                p.serializeBody(bean, target, null);
            } else if (isThereAnOverridingProperty) {
                // need to double check the override - it should be safe to do after the model has been created because it's targeted to override properties only
                Class beanClass = bean.getClass();
                if (Utils.REFLECTION_NAVIGATOR.getDeclaredField(beanClass, p.getFieldName()) == null) {
                    p.serializeBody(bean, target, null);
                }
            }
        }
    } catch (AccessorException e) {
        target.reportError(null, e);
    }
}
 
Example #9
Source File: StructureLoader.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}
 
Example #10
Source File: StructureLoader.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}
 
Example #11
Source File: ClassBeanInfoImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
public boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException {
    try {
        if(superClazz!=null)
            superClazz.reset(bean,context);
        for( Property<BeanT> p : properties )
            p.reset(bean);
        return true;
    } catch (AccessorException e) {
        context.handleError(e);
        return false;
    }
}
 
Example #12
Source File: ClassBeanInfoImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #13
Source File: ClassBeanInfoImpl.java    From openjdk-jdk9 with GNU General Public License v2.0 5 votes vote down vote up
private void checkOverrideProperties(Property p) {
    ClassBeanInfoImpl bi = this;
    while ((bi = bi.superClazz) != null) {
        Property[] props = bi.properties;
        if (props == null) break;
        for (Property superProperty : props) {
            if (superProperty != null) {
                String spName = superProperty.getFieldName();
                if ((spName != null) && (spName.equals(p.getFieldName()))) {
                    superProperty.setHiddenByOverride(true);
                }
            }
        }
    }
}
 
Example #14
Source File: ClassBeanInfoImpl.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
public boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException {
    try {
        if(superClazz!=null)
            superClazz.reset(bean,context);
        for( Property<BeanT> p : properties )
            p.reset(bean);
        return true;
    } catch (AccessorException e) {
        context.handleError(e);
        return false;
    }
}
 
Example #15
Source File: ClassBeanInfoImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
public boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException {
    try {
        if(superClazz!=null)
            superClazz.reset(bean,context);
        for( Property<BeanT> p : properties )
            p.reset(bean);
        return true;
    } catch (AccessorException e) {
        context.handleError(e);
        return false;
    }
}
 
Example #16
Source File: ClassBeanInfoImpl.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #17
Source File: ClassBeanInfoImpl.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #18
Source File: StructureLoader.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}
 
Example #19
Source File: ClassBeanInfoImpl.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
private void checkOverrideProperties(Property p) {
    ClassBeanInfoImpl bi = this;
    while ((bi = bi.superClazz) != null) {
        Property[] props = bi.properties;
        if (props == null) break;
        for (Property superProperty : props) {
            if (superProperty != null) {
                String spName = superProperty.getFieldName();
                if ((spName != null) && (spName.equals(p.getFieldName()))) {
                    superProperty.setHiddenByOverride(true);
                }
            }
        }
    }
}
 
Example #20
Source File: ClassBeanInfoImpl.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #21
Source File: ClassBeanInfoImpl.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
private void checkOverrideProperties(Property p) {
    ClassBeanInfoImpl bi = this;
    while ((bi = bi.superClazz) != null) {
        Property[] props = bi.properties;
        if (props == null) break;
        for (Property superProperty : props) {
            if (superProperty != null) {
                String spName = superProperty.getFieldName();
                if ((spName != null) && (spName.equals(p.getFieldName()))) {
                    superProperty.setHiddenByOverride(true);
                }
            }
        }
    }
}
 
Example #22
Source File: StructureLoader.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}
 
Example #23
Source File: ClassBeanInfoImpl.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
private void checkOverrideProperties(Property p) {
    ClassBeanInfoImpl bi = this;
    while ((bi = bi.superClazz) != null) {
        Property[] props = bi.properties;
        if (props == null) break;
        for (Property superProperty : props) {
            if (superProperty != null) {
                String spName = superProperty.getFieldName();
                if ((spName != null) && (spName.equals(p.getFieldName()))) {
                    superProperty.setHiddenByOverride(true);
                }
            }
        }
    }
}
 
Example #24
Source File: ClassBeanInfoImpl.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #25
Source File: ClassBeanInfoImpl.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
public boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException {
    try {
        if(superClazz!=null)
            superClazz.reset(bean,context);
        for( Property<BeanT> p : properties )
            p.reset(bean);
        return true;
    } catch (AccessorException e) {
        context.handleError(e);
        return false;
    }
}
 
Example #26
Source File: StructureLoader.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}
 
Example #27
Source File: ClassBeanInfoImpl.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
private void checkOverrideProperties(Property p) {
    ClassBeanInfoImpl bi = this;
    while ((bi = bi.superClazz) != null) {
        Property[] props = bi.properties;
        if (props == null) break;
        for (Property superProperty : props) {
            if (superProperty != null) {
                String spName = superProperty.getFieldName();
                if ((spName != null) && (spName.equals(p.getFieldName()))) {
                    superProperty.setHiddenByOverride(true);
                }
            }
        }
    }
}
 
Example #28
Source File: ClassBeanInfoImpl.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
@Override
public void wrapUp() {
    for (Property p : properties)
        p.wrapUp();
    ci = null;
    super.wrapUp();
}
 
Example #29
Source File: ClassBeanInfoImpl.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
public boolean reset(BeanT bean, UnmarshallingContext context) throws SAXException {
    try {
        if(superClazz!=null)
            superClazz.reset(bean,context);
        for( Property<BeanT> p : properties )
            p.reset(bean);
        return true;
    } catch (AccessorException e) {
        context.handleError(e);
        return false;
    }
}
 
Example #30
Source File: StructureLoader.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Completes the initialization.
 *
 * <p>
 * To fix the cyclic reference issue, the main part of the initialization needs to be done
 * after a {@link StructureLoader} is set to {@link ClassBeanInfoImpl#loader}.
 */
public void init( JAXBContextImpl context, ClassBeanInfoImpl beanInfo, Accessor<?,Map<QName,String>> attWildcard) {
    UnmarshallerChain chain = new UnmarshallerChain(context);
    for (ClassBeanInfoImpl bi = beanInfo; bi != null; bi = bi.superClazz) {
        for (int i = bi.properties.length - 1; i >= 0; i--) {
            Property p = bi.properties[i];

            switch(p.getKind()) {
            case ATTRIBUTE:
                if(attUnmarshallers==null)
                    attUnmarshallers = new QNameMap<TransducedAccessor>();
                AttributeProperty ap = (AttributeProperty) p;
                attUnmarshallers.put(ap.attName.toQName(),ap.xacc);
                break;
            case ELEMENT:
            case REFERENCE:
            case MAP:
            case VALUE:
                p.buildChildElementUnmarshallers(chain,childUnmarshallers);
                break;
            }
        }
    }

    this.frameSize = chain.getScopeSize();

    textHandler = childUnmarshallers.get(StructureLoaderBuilder.TEXT_HANDLER);
    catchAll = childUnmarshallers.get(StructureLoaderBuilder.CATCH_ALL);

    if(attWildcard!=null) {
        attCatchAll = (Accessor<Object,Map<QName,String>>) attWildcard;
        // we use attUnmarshallers==null as a sign to skip the attribute processing
        // altogether, so if we have an att wildcard we need to have an empty qname map.
        if(attUnmarshallers==null)
            attUnmarshallers = EMPTY;
    } else {
        attCatchAll = null;
    }
}