当前位置: 首页>>代码示例>>Java>>正文


Java ClassFactory类代码示例

本文整理汇总了Java中com.sun.xml.internal.bind.v2.ClassFactory的典型用法代码示例。如果您正苦于以下问题:Java ClassFactory类的具体用法?Java ClassFactory怎么用?Java ClassFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ClassFactory类属于com.sun.xml.internal.bind.v2包,在下文中一共展示了ClassFactory类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: SingleMapNodeProperty

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public SingleMapNodeProperty(JAXBContextImpl context, RuntimeMapPropertyInfo prop) {
    super(context, prop);
    acc = prop.getAccessor().optimize(context);
    this.tagName = context.nameBuilder.createElementName(prop.getXmlName());
    this.entryTag = context.nameBuilder.createElementName("","entry");
    this.keyTag = context.nameBuilder.createElementName("","key");
    this.valueTag = context.nameBuilder.createElementName("","value");
    this.nillable = prop.isCollectionNillable();
    this.keyBeanInfo = context.getOrCreate(prop.getKeyType());
    this.valueBeanInfo = context.getOrCreate(prop.getValueType());

    // infer the implementation class
    //noinspection unchecked
    Class<ValueT> sig = (Class<ValueT>) Utils.REFLECTION_NAVIGATOR.erasure(prop.getRawType());
    mapImplClass = ClassFactory.inferImplClass(sig,knownImplClasses);
    // TODO: error check for mapImplClass==null
    // what is the error reporting path for this part of the code?
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:SingleMapNodeProperty.java

示例2: startElement

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
@Override
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException {
    // create or obtain the Map object
    try {
        target.set((BeanT)state.getPrev().getTarget());
        map.set(acc.get(target.get()));
        depthCounter++;
        if(map.get() == null) {
            map.set(ClassFactory.create(mapImplClass));
        }
        map.get().clear();
        state.setTarget(map.get());
    } catch (AccessorException e) {
        // recover from error by setting a dummy Map that receives and discards the values
        handleGenericException(e,true);
        state.setTarget(new HashMap());
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:SingleMapNodeProperty.java

示例3: ArrayReferenceNodeProperty

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public ArrayReferenceNodeProperty(JAXBContextImpl p, RuntimeReferencePropertyInfo prop) {
    super(p, prop, prop.getXmlName(), prop.isCollectionNillable());

    for (RuntimeElement e : prop.getElements()) {
        JaxBeanInfo bi = p.getOrCreate(e);
        expectedElements.put( e.getElementName().getNamespaceURI(),e.getElementName().getLocalPart(), bi );
    }

    isMixed = prop.isMixed();

    if(prop.getWildcard()!=null) {
        domHandler = (DomHandler) ClassFactory.create(prop.getDOMHandler());
        wcMode = prop.getWildcard();
    } else {
        domHandler = null;
        wcMode = null;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:19,代码来源:ArrayReferenceNodeProperty.java

示例4: SingleReferenceNodeProperty

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public SingleReferenceNodeProperty(JAXBContextImpl context, RuntimeReferencePropertyInfo prop) {
    super(context,prop);
    acc = prop.getAccessor().optimize(context);

    for (RuntimeElement e : prop.getElements()) {
        expectedElements.put( e.getElementName(), context.getOrCreate(e) );
    }

    if(prop.getWildcard()!=null) {
        domHandler = (DomHandler) ClassFactory.create(prop.getDOMHandler());
        wcMode = prop.getWildcard();
    } else {
        domHandler = null;
        wcMode = null;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:SingleReferenceNodeProperty.java

示例5: createInstance

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public BeanT createInstance(UnmarshallingContext context) throws IllegalAccessException, InvocationTargetException, InstantiationException, SAXException {

        BeanT bean = null;
        if (factoryMethod == null){
           bean = ClassFactory.create0(jaxbType);
        }else {
            Object o = ClassFactory.create(factoryMethod);
            if( jaxbType.isInstance(o) ){
                bean = (BeanT)o;
            } else {
                throw new InstantiationException("The factory method didn't return a correct object");
            }
        }

        if(xmlLocatorField!=null)
            // need to copy because Locator is mutable
            try {
                xmlLocatorField.set(bean,new LocatorImpl(context.getLocator()));
            } catch (AccessorException e) {
                context.handleError(e);
            }
        return bean;
    }
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:24,代码来源:ClassBeanInfoImpl.java

示例6: createConstant

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public JExpression createConstant(Outline outline, XmlString lexical) {
    if(isCollection())  return null;

    if(adapter==null)     return coreType.createConstant(outline, lexical);

    // [RESULT] new Adapter().unmarshal(CONSTANT);
    JExpression cons = coreType.createConstant(outline, lexical);
    Class<? extends XmlAdapter> atype = adapter.getAdapterIfKnown();

    // try to run the adapter now rather than later.
    if(cons instanceof JStringLiteral && atype!=null) {
        JStringLiteral scons = (JStringLiteral) cons;
        XmlAdapter a = ClassFactory.create(atype);
        try {
            Object value = a.unmarshal(scons.str);
            if(value instanceof String) {
                return JExpr.lit((String)value);
            }
        } catch (Exception e) {
            // assume that we can't eagerly bind this
        }
    }

    return JExpr._new(adapter.getAdapterClass(outline)).invoke("unmarshal").arg(cons);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:26,代码来源:TypeUseImpl.java

示例7: startElement

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
@Override
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException {
    // create or obtain the Map object
    try {
        BeanT target = (BeanT) state.getPrev().getTarget();
        ValueT mapValue = acc.get(target);
        if(mapValue == null)
            mapValue = ClassFactory.create(mapImplClass);
        else
            mapValue.clear();

        Stack.push(this.target, target);
        Stack.push(map, mapValue);
        state.setTarget(mapValue);
    } catch (AccessorException e) {
        // recover from error by setting a dummy Map that receives and discards the values
        handleGenericException(e,true);
        state.setTarget(new HashMap());
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:SingleMapNodeProperty.java

示例8: startElement

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
@Override
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException {
    // create or obtain the Map object
    try {
        target.set((BeanT)state.prev.target);
        map.set(acc.get(target.get()));
        depthCounter++;
        if(map.get() == null) {
            map.set(ClassFactory.create(mapImplClass));
        }
        map.get().clear();
        state.target = map.get();
    } catch (AccessorException e) {
        // recover from error by setting a dummy Map that receives and discards the values
        handleGenericException(e,true);
        state.target = new HashMap();
    }
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:19,代码来源:SingleMapNodeProperty.java

示例9: SingleMapNodeProperty

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
public SingleMapNodeProperty(JAXBContextImpl context, RuntimeMapPropertyInfo prop) {
    super(context, prop);
    acc = prop.getAccessor().optimize(context);
    this.tagName = context.nameBuilder.createElementName(prop.getXmlName());
    this.entryTag = context.nameBuilder.createElementName("","entry");
    this.keyTag = context.nameBuilder.createElementName("","key");
    this.valueTag = context.nameBuilder.createElementName("","value");
    this.nillable = prop.isCollectionNillable();
    this.keyBeanInfo = context.getOrCreate(prop.getKeyType());
    this.valueBeanInfo = context.getOrCreate(prop.getValueType());

    // infer the implementation class
    Class<ValueT> sig = ReflectionNavigator.REFLECTION.erasure(prop.getRawType());
    mapImplClass = ClassFactory.inferImplClass(sig,knownImplClasses);
    // TODO: error check for mapImplClass==null
    // what is the error reporting path for this part of the code?
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:18,代码来源:SingleMapNodeProperty.java

示例10: startElement

import com.sun.xml.internal.bind.v2.ClassFactory; //导入依赖的package包/类
@Override
public void startElement(UnmarshallingContext.State state, TagName ea) throws SAXException {
    // create or obtain the Map object
    try {
        target.set((BeanT)state.prev.target);
        map.set(acc.get(target.get()));
        if(map.get() == null) {
            map.set(ClassFactory.create(mapImplClass));
        }
        map.get().clear();
        state.target = map.get();
    } catch (AccessorException e) {
        // recover from error by setting a dummy Map that receives and discards the values
        handleGenericException(e,true);
        state.target = new HashMap();
    }
}
 
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:18,代码来源:SingleMapNodeProperty.java


注:本文中的com.sun.xml.internal.bind.v2.ClassFactory类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。