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


Java ClassFactory.create方法代码示例

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


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

示例1: 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

示例2: 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

示例3: 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

示例4: 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

示例5: 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

示例6: parse

import com.sun.xml.internal.bind.v2.ClassFactory; //导入方法依赖的package包/类
public BeanT parse(CharSequence lexical) throws AccessorException, SAXException {
    UnmarshallingContext ctxt = UnmarshallingContext.getInstance();
    BeanT inst;
    if(ctxt!=null)
        inst = (BeanT)ctxt.createInstance(ownerClass);
    else
        // when this runs for parsing enum constants,
        // there's no UnmarshallingContext.
        inst = ClassFactory.create(ownerClass);

    xacc.parse(inst,lexical);
    return inst;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:14,代码来源:RuntimeClassInfoImpl.java

示例7: getAdapter

import com.sun.xml.internal.bind.v2.ClassFactory; //导入方法依赖的package包/类
/**
 * Gets the instance of the adapter.
 *
 * @return
 *      always non-null.
 */
public final <T extends XmlAdapter> T getAdapter(Class<T> key) {
    T v = key.cast(adapters.get(key));
    if(v==null) {
        v = ClassFactory.create(key);
        putAdapter(key,v);
    }
    return v;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:15,代码来源:Coordinator.java

示例8: getAdapter

import com.sun.xml.internal.bind.v2.ClassFactory; //导入方法依赖的package包/类
private XmlAdapter<OnWireValueT, InMemValueT> getAdapter() {
    Coordinator coordinator = Coordinator._getInstance();
    if(coordinator!=null)
        return coordinator.getAdapter(adapter);
    else {
        synchronized(this) {
            if(staticAdapter==null)
                staticAdapter = ClassFactory.create(adapter);
        }
        return staticAdapter;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:AdaptedAccessor.java

示例9: startPacking

import com.sun.xml.internal.bind.v2.ClassFactory; //导入方法依赖的package包/类
public T startPacking(BeanT bean, Accessor<BeanT, T> acc) throws AccessorException {
    T collection = acc.get(bean);
    if(collection==null) {
        collection = ClassFactory.create(implClass);
        if(!acc.isAdapted())
            acc.set(bean,collection);
    }
    collection.clear();
    return collection;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:11,代码来源:Lister.java

示例10: createInstance

import com.sun.xml.internal.bind.v2.ClassFactory; //导入方法依赖的package包/类
/**
 * Creates a new instance of the specified class.
 * In the unmarshaller, we need to check the user-specified factory class.
 */
public Object createInstance( Class<?> clazz ) throws SAXException {
    if(!factories.isEmpty()) {
        Factory factory = factories.get(clazz);
        if(factory!=null)
            return factory.createInstance();
    }
    return ClassFactory.create(clazz);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:13,代码来源:UnmarshallingContext.java


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