本文整理汇总了Java中com.sun.xml.internal.bind.v2.ContextFactory类的典型用法代码示例。如果您正苦于以下问题:Java ContextFactory类的具体用法?Java ContextFactory怎么用?Java ContextFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ContextFactory类属于com.sun.xml.internal.bind.v2包,在下文中一共展示了ContextFactory类的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: newContext
import com.sun.xml.internal.bind.v2.ContextFactory; //导入依赖的package包/类
@Override
public BindingContext newContext(BindingInfo bi) {
Class[] classes = bi.contentClasses().toArray(new Class[bi.contentClasses().size()]);
for (int i = 0; i < classes.length; i++) {
if (WrapperComposite.class.equals(classes[i])) {
classes[i] = CompositeStructure.class;
}
}
Map<TypeInfo, TypeReference> typeInfoMappings = typeInfoMappings(bi.typeInfos());
Map<Class, Class> subclassReplacements = bi.subclassReplacements();
String defaultNamespaceRemap = bi.getDefaultNamespace();
Boolean c14nSupport = (Boolean) bi.properties().get("c14nSupport");
RuntimeAnnotationReader ar = (RuntimeAnnotationReader) bi.properties().get("com.sun.xml.internal.bind.v2.model.annotation.RuntimeAnnotationReader");
JAXBContextFactory jaxbContextFactory = (JAXBContextFactory) bi.properties().get(JAXBContextFactory.class.getName());
try {
JAXBRIContext context = (jaxbContextFactory != null)
? jaxbContextFactory.createJAXBContext(
bi.getSEIModel(),
toList(classes),
toList(typeInfoMappings.values()))
: ContextFactory.createContext(
classes, typeInfoMappings.values(),
subclassReplacements, defaultNamespaceRemap,
(c14nSupport != null) ? c14nSupport : false,
ar, false, false, false);
return new JAXBRIContextWrapper(context, typeInfoMappings);
} catch (Exception e) {
throw new DatabindingException(e);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:31,代码来源:JAXBRIContextFactory.java
示例2: DualObjectFactoryGenerator
import com.sun.xml.internal.bind.v2.ContextFactory; //导入依赖的package包/类
DualObjectFactoryGenerator(BeanGenerator outline, Model model, JPackage targetPackage) {
this.publicOFG = new PublicObjectFactoryGenerator(outline,model,targetPackage);
this.privateOFG = new PrivateObjectFactoryGenerator(outline,model,targetPackage);
// put the marker so that we can detect missing jaxb.properties
publicOFG.getObjectFactory().field(JMod.PRIVATE|JMod.STATIC|JMod.FINAL,
Void.class, ContextFactory.USE_JAXB_PROPERTIES, JExpr._null());
}
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:9,代码来源:DualObjectFactoryGenerator.java
示例3: newInstance
import com.sun.xml.internal.bind.v2.ContextFactory; //导入依赖的package包/类
/**
* Creates a new {@link JAXBRIContext}.
*
* <p>
* {@link JAXBContext#newInstance(Class[]) JAXBContext.newInstance()} methods may
* return other JAXB providers that are not compatible with the JAX-RPC RI.
* This method guarantees that the JAX-WS RI will finds the JAXB RI.
*
* @param classes
* Classes to be bound. See {@link JAXBContext#newInstance(Class[])} for the meaning.
* @param typeRefs
* See {@link #TYPE_REFERENCES} for the meaning of this parameter.
* Can be null.
* @param subclassReplacements
* See {@link #SUBCLASS_REPLACEMENTS} for the meaning of this parameter.
* Can be null.
* @param defaultNamespaceRemap
* See {@link #DEFAULT_NAMESPACE_REMAP} for the meaning of this parameter.
* Can be null (and should be null for ordinary use of JAXB.)
* @param c14nSupport
* See {@link #CANONICALIZATION_SUPPORT} for the meaning of this parameter.
* @param ar
* See {@link #ANNOTATION_READER} for the meaning of this parameter.
* Can be null.
* @param xmlAccessorFactorySupport
* See {@link #XMLACCESSORFACTORY_SUPPORT} for the meaning of this parameter.
* @param allNillable
* See {@link #TREAT_EVERYTHING_NILLABLE} for the meaning of this parameter.
* @param retainPropertyInfo
* See {@link #RETAIN_REFERENCE_TO_INFO} for the meaning of this parameter.
* @param supressAccessorWarnings
* See {@link #SUPRESS_ACCESSOR_WARNINGS} for the meaning of this parameter.
*/
public static JAXBRIContext newInstance(@NotNull Class[] classes,
@Nullable Collection<TypeReference> typeRefs,
@Nullable Map<Class,Class> subclassReplacements,
@Nullable String defaultNamespaceRemap, boolean c14nSupport,
@Nullable RuntimeAnnotationReader ar,
boolean xmlAccessorFactorySupport,
boolean allNillable,
boolean retainPropertyInfo,
boolean supressAccessorWarnings) throws JAXBException {
Map<String, Object> properties = new HashMap<String, Object>();
if (typeRefs != null) properties.put(JAXBRIContext.TYPE_REFERENCES, typeRefs);
if (subclassReplacements != null) properties.put(JAXBRIContext.SUBCLASS_REPLACEMENTS, subclassReplacements);
if (defaultNamespaceRemap != null) properties.put(JAXBRIContext.DEFAULT_NAMESPACE_REMAP, defaultNamespaceRemap);
if (ar != null) properties.put(JAXBRIContext.ANNOTATION_READER, ar);
properties.put(JAXBRIContext.CANONICALIZATION_SUPPORT, Boolean.valueOf(c14nSupport));
properties.put(JAXBRIContext.XMLACCESSORFACTORY_SUPPORT, Boolean.valueOf(xmlAccessorFactorySupport));
properties.put(JAXBRIContext.TREAT_EVERYTHING_NILLABLE, Boolean.valueOf(allNillable));
properties.put(JAXBRIContext.RETAIN_REFERENCE_TO_INFO, Boolean.valueOf(retainPropertyInfo));
properties.put(JAXBRIContext.SUPRESS_ACCESSOR_WARNINGS, Boolean.valueOf(supressAccessorWarnings));
return (JAXBRIContext) ContextFactory.createContext(classes, properties);
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:55,代码来源:JAXBRIContext.java
示例4: RegistryInfoImpl
import com.sun.xml.internal.bind.v2.ContextFactory; //导入依赖的package包/类
/**
* Picks up references in this registry to other types.
*/
RegistryInfoImpl(ModelBuilder<T,C,F,M> builder, Locatable upstream, C registryClass) {
this.nav = builder.nav;
this.registryClass = registryClass;
this.upstream = upstream;
builder.registries.put(getPackageName(),this);
if(nav.getDeclaredField(registryClass,ContextFactory.USE_JAXB_PROPERTIES)!=null) {
// the user is trying to use ObjectFactory that we generate for interfaces,
// that means he's missing jaxb.properties
builder.reportError(new IllegalAnnotationException(
Messages.MISSING_JAXB_PROPERTIES.format(getPackageName()),
this
));
// looking at members will only add more errors, so just abort now
return;
}
for( M m : nav.getDeclaredMethods(registryClass) ) {
XmlElementDecl em = builder.reader.getMethodAnnotation(
XmlElementDecl.class, m, this );
if(em==null) {
if(nav.getMethodName(m).startsWith("create")) {
// this is a factory method. visit this class
references.add(
builder.getTypeInfo(nav.getReturnType(m),
new MethodLocatable<M>(this,m,nav)));
}
continue;
}
ElementInfoImpl<T,C,F,M> ei;
try {
ei = builder.createElementInfo(this,m);
} catch (IllegalAnnotationException e) {
builder.reportError(e);
continue; // recover by ignoring this element
}
// register this mapping
// TODO: any chance this could cause a stack overflow (by recursively visiting classes)?
builder.typeInfoSet.add(ei,builder);
references.add(ei);
}
}
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:50,代码来源:RegistryInfoImpl.java
示例5: newInstance
import com.sun.xml.internal.bind.v2.ContextFactory; //导入依赖的package包/类
/**
* Creates a new {@link JAXBRIContext}.
*
* <p>
* {@link JAXBContext#newInstance(Class[]) JAXBContext.newInstance()} methods may
* return other JAXB providers that are not compatible with the JAX-RPC RI.
* This method guarantees that the JAX-WS RI will finds the JAXB RI.
*
* @param classes
* Classes to be bound. See {@link JAXBContext#newInstance(Class[])} for the meaning.
* @param typeRefs
* See {@link #TYPE_REFERENCES} for the meaning of this parameter.
* Can be null.
* @param subclassReplacements
* See {@link #SUBCLASS_REPLACEMENTS} for the meaning of this parameter.
* Can be null.
* @param defaultNamespaceRemap
* See {@link #DEFAULT_NAMESPACE_REMAP} for the meaning of this parameter.
* Can be null (and should be null for ordinary use of JAXB.)
* @param c14nSupport
* See {@link #CANONICALIZATION_SUPPORT} for the meaning of this parameter.
* @param ar
* See {@link #ANNOTATION_READER} for the meaning of this parameter.
* Can be null.
* @since JAXB 2.1 EA2
*/
public static JAXBRIContext newInstance(@NotNull Class[] classes,
@Nullable Collection<TypeReference> typeRefs,
@Nullable Map<Class,Class> subclassReplacements,
@Nullable String defaultNamespaceRemap, boolean c14nSupport,
@Nullable RuntimeAnnotationReader ar) throws JAXBException {
return ContextFactory.createContext(classes, typeRefs, subclassReplacements,
defaultNamespaceRemap, c14nSupport, ar, false, false, false, false);
}
开发者ID:alexkasko,项目名称:openjdk-icedtea7,代码行数:35,代码来源:JAXBRIContext.java
注:本文中的com.sun.xml.internal.bind.v2.ContextFactory类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论