/** * Get the <code>AegisType</code> of the elements in the array. This is only used for writing an array. * When reading the type is solely determined by the required arrayType soap attribute. */ public AegisType getComponentType() { Class<?> compType = getTypeClass().getComponentType(); AegisType type; if (componentName == null) { type = getTypeMapping().getType(compType); } else { type = getTypeMapping().getType(componentName); // We couldn't find the type the user specified. One is created // below instead. if (type == null) { LOG.finest("Couldn't find array component type " + componentName + ". Creating one instead."); } } if (type == null) { type = getTypeMapping().getTypeCreator().createType(compType); getTypeMapping().register(type); } return type; }
protected QName createMapQName(TypeClassInfo info, AegisType keyType, AegisType valueType) { String name = keyType.getSchemaType().getLocalPart() + '2' + valueType.getSchemaType().getLocalPart(); Class<?> cls = TypeUtil.getTypeRelatedClass(info.getType()); name += cls.getSimpleName(); // TODO: Get namespace from XML? return new QName(tm.getMappingIdentifierURI(), name); }
public QName getTypeQName(Type clazz) { QName qname = class2xml.get(clazz); if (qname == null && nextTM != null) { qname = nextTM.getTypeQName(clazz); } return qname; }
public AegisType getType(Type javaType) { AegisType type = class2Type.get(javaType); if (type == null && nextTM != null) { type = nextTM.getType(javaType); } return type; }
/** * {@inheritDoc} */ public void write(Object obj, QName elementName, boolean optional, XMLStreamWriter output, java.lang.reflect.Type objectType) throws Exception { AegisType aegisType = null; if (objectType instanceof Class) { aegisType = getContext().getTypeMapping().getType(objectType); } if (aegisType == null) { TypeCreator creator = getContext().getTypeMapping().getTypeCreator(); aegisType = creator.createType(objectType); } if (aegisType == null) { Message message = new Message("NO_MAPPING_FOR_TYPE", LOG, objectType); throw new DatabindingException(message); } write(obj, elementName, optional, output, aegisType); } }
private static void defaultRegister(TypeMapping tm, boolean defaultNillable, Class<?> class1, QName name, AegisType type) { if (!defaultNillable) { type.setNillable(false); } tm.register(class1, name, type); }
type = tm.getTypeCreator().createType(instance.getClass()); tm.register(type);
public boolean isRegistered(QName xmlType) { boolean registered = xml2Type.containsKey(xmlType); if (!registered && nextTM != null) { registered = nextTM.isRegistered(xmlType); } return registered; }
public QName getSuggestedName(Service s, TypeMapping tm, OperationInfo op, int param) { Method m = getMethod(s, op); if (m == null) { return null; } QName name = tm.getTypeCreator().getElementName(m, param); // No mapped name was specified, so if its a complex type use that name // instead if (name == null) { AegisType type = tm.getTypeCreator().createType(m, param); if (type.isComplex() && !type.isAbstract()) { name = type.getSchemaType(); } } return name; }
public void removeType(AegisType type) { if (!xml2Type.containsKey(type.getSchemaType())) { nextTM.removeType(type); } else { xml2Type.remove(type.getSchemaType()); class2Type.remove(type.getType()); class2xml.remove(type.getType()); } }
/** * If a class was provided as part of the root list, retrieve it's AegisType by schema type QName. * * @param schemaTypeName * @return */ public AegisType getRootType(QName schemaTypeName) { if (rootTypeQNames.contains(schemaTypeName)) { return typeMapping.getType(schemaTypeName); } return null; }
/** * {@inheritDoc} */ public void write(Object obj, QName elementName, boolean optional, XMLStreamWriter output, java.lang.reflect.Type objectType) throws Exception { AegisType aegisType = null; if (objectType instanceof Class) { aegisType = getContext().getTypeMapping().getType(objectType); } if (aegisType == null) { TypeCreator creator = getContext().getTypeMapping().getTypeCreator(); aegisType = creator.createType(objectType); } if (aegisType == null) { Message message = new Message("NO_MAPPING_FOR_TYPE", LOG, objectType); throw new DatabindingException(message); } write(obj, elementName, optional, output, aegisType); } }
private static void defaultRegister(TypeMapping tm, boolean defaultNillable, Class<?> class1, QName name, AegisType type) { if (!defaultNillable) { type.setNillable(false); } tm.register(class1, name, type); }
type = tm.getTypeCreator().createType(instance.getClass()); tm.register(type);
public boolean isRegistered(Type javaType) { boolean registered = class2Type.containsKey(javaType); if (!registered && nextTM != null) { registered = nextTM.isRegistered(javaType); } return registered; }
/** * Allow writing of collections when the type of the collection object is known via * an {@link java.lang.reflect.Type} object. * @param globalContext the context * @param value the object to write. * @param reflectType the type to use in writing the object. * @return */ public static AegisType getWriteTypeStandalone(AegisContext globalContext, Object value, java.lang.reflect.Type reflectType) { if (reflectType == null) { return getWriteTypeStandalone(globalContext, value, (AegisType)null); } return globalContext.getTypeMapping().getTypeCreator().createType(reflectType); }
public void removeType(AegisType type) { if (!xml2Type.containsKey(type.getSchemaType())) { nextTM.removeType(type); } else { xml2Type.remove(type.getSchemaType()); class2Type.remove(type.getType()); class2xml.remove(type.getType()); } }
/** * Get the <code>AegisType</code> of the elements in the array. * * @return */ public AegisType getComponentType() { Class<?> compType = getTypeClass().getComponentType(); AegisType type; if (componentName == null) { type = getTypeMapping().getType(compType); } else { type = getTypeMapping().getType(componentName); // We couldn't find the type the user specified. One is created // below instead. if (type == null) { LOG.finest("Couldn't find array component type " + componentName + ". Creating one instead."); } } if (type == null) { type = getTypeMapping().getTypeCreator().createType(compType); getTypeMapping().register(type); } return type; }
public AegisType getType(QName xmlType) { AegisType type = xml2Type.get(xmlType); if (type == null && nextTM != null) { type = nextTM.getType(xmlType); } return type; }
aegisType = getContext().getTypeMapping().getType(obj.getClass()); if (aegisType == null) { TypeCreator creator = getContext().getTypeMapping().getTypeCreator(); aegisType = creator.createType(obj.getClass());