@Override public String convert(TypeMirror typeMirror) throws TemplateModelException { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(typeMirror); if (decorated.isPrimitive()) { switch (((PrimitiveType)decorated).getKind()) { case BOOLEAN: else if (decorated.isArray()) { ArrayType arrayType = (ArrayType) decorated; DecoratedTypeMirror decoratedComponentType = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(arrayType.getComponentType()); if (((decoratedComponentType.isPrimitive()) && (((PrimitiveType) decoratedComponentType).getKind() == PrimitiveType.Kind.CHAR)) || (decoratedComponentType.isInstanceOf(Character.class.getName()))) { return "String"; else if (((decoratedComponentType.isPrimitive()) && (((PrimitiveType) decoratedComponentType).getKind() == PrimitiveType.Kind.BYTE)) || (decoratedComponentType.isInstanceOf(Byte.class.getName()))) { return "flash.utils.ByteArray"; else if (decorated.isCollection()) { return "mx.collections.ArrayCollection"; else if (decorated.isInstanceOf("java.util.Map")) { return "Object"; else if (decorated.isEnum()) { return "String"; else if (decorated.isDeclared()) { DeclaredType declaredType = ((DeclaredType) decorated); String fqn = declaredType.getDeclaration().getQualifiedName();
@Override public boolean isVoid() { return ((DecoratedTypeMirror) delegate).isVoid(); } }
/** * The element docs. * * @return The element docs. */ public String getElementDocs() { return ((DecoratedTypeMirror) delegate).getDocComment(); }
/** * Whether this REST parameter is a collection or an array. * * @return Whether this REST parameter is a collection or an array. */ public boolean isCollectionType() { DecoratedTypeMirror type = (DecoratedTypeMirror) getType(); return type.isArray() || type.isCollection(); }
private FaultBeanChildElement(PropertyDeclaration property) { DecoratedTypeMirror propertyType = (DecoratedTypeMirror) property.getPropertyType(); this.adaperType = AdapterUtil.findAdapterType(property.getGetter()); int minOccurs = propertyType.isPrimitive() ? 1 : 0; String maxOccurs = propertyType.isArray() || propertyType.isCollection() ? "unbounded" : "1"; this.property = property; this.minOccurs = minOccurs; this.maxOccurs = maxOccurs; }
public boolean isCollection() { return isInstanceOf(Collection.class.getName()); }
@Override public String convert(TypeMirror typeMirror) throws TemplateModelException { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(typeMirror); if (decorated.isPrimitive()) { PrimitiveType.Kind kind = ((PrimitiveType) decorated).getKind(); switch (kind) { else if (decorated.isEnum()) { return "String"; else if (decorated.isCollection()) { return "Array"; else if (decorated.isArray()) { TypeMirror componentType = ((ArrayType) decorated).getComponentType(); if ((componentType instanceof PrimitiveType) && (((PrimitiveType) componentType).getKind() == PrimitiveType.Kind.BYTE)) {
protected boolean isCollection(TypeDeclaration declaration) { String fqn = declaration.getQualifiedName(); if (Collection.class.getName().equals(fqn)) { return true; } else if (Object.class.getName().equals(fqn)) { return false; } else { if (declaration instanceof ClassDeclaration) { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(((ClassDeclaration)declaration).getSuperclass()); if (decorated.isCollection()) { return true; } } for (InterfaceType interfaceType : declaration.getSuperinterfaces()) { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(interfaceType); if (decorated.isCollection()) { return true; } } } return false; }
returnTypeMirror = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(e.getTypeMirror()); returnTypeMirror.setDocComment(((DecoratedTypeMirror) getReturnType()).getDocComment()); if (returnTypeMirror.isClass() && returnTypeMirror.isInstanceOf("com.sun.jersey.api.JResponse")) { DecoratedClassType jresponse = (DecoratedClassType) returnTypeMirror; if (!jresponse.getActualTypeArguments().isEmpty()) { DecoratedTypeMirror responseType = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(jresponse.getActualTypeArguments().iterator().next()); if (responseType.isDeclared()) { responseType.setDocComment(returnTypeMirror.getDocComment()); returnTypeMirror = responseType; outputPayload = returnTypeMirror.isVoid() ? null : new ResourceRepresentationMetadata(returnTypeMirror);
Accessor accessor = (Accessor) unwrapped; DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(accessor.getAccessorType()); if (decorated.isPrimitive()) { return ((PrimitiveType) decorated).getKind() == PrimitiveType.Kind.LONG; else if (decorated.isInstanceOf(Long.class.getName())) { return true; else if (decorated.isInstanceOf(Date.class.getName())) { return true; else if (decorated.isInstanceOf(Calendar.class.getName())) { return true;
@Override public String convert(TypeMirror typeMirror) throws TemplateModelException { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(typeMirror); if (decorated.isPrimitive()) { PrimitiveType.Kind kind = ((PrimitiveType) decorated).getKind(); switch (kind) { case BOOLEAN: return "bool"; //boolean as 'bool' case CHAR: return "ushort"; default: return kind.toString().toLowerCase(); } } else if (decorated.isCollection()) { //collections will be converted to arrays. return getCollectionTypeConversion((DeclaredType) typeMirror); } return super.convert(typeMirror); }
DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(adaptedType); TypeMirror componentType = null; if (decorated.isCollection()) { Iterator<TypeMirror> itemTypes = ((DeclaredType) decorated).getActualTypeArguments().iterator(); if (!itemTypes.hasNext()) { else if (decorated.isArray()) { componentType = ((ArrayType) decorated).getComponentType(); TypeMirror declaredAdapting = getAdaptingType(); while (declaredAdapting instanceof DecoratedTypeMirror) { declaredAdapting = ((DecoratedTypeMirror) declaredAdapting).getDelegate();
/** * Loads the explicit output payload. * * @param signatureOverride The method signature override. * @return The output payload (explicit in the signature override. */ protected ResourceRepresentationMetadata loadOutputPayload(ResourceMethodSignature signatureOverride) { DecoratedTypeMirror returnType = (DecoratedTypeMirror) getReturnType(); try { Class<?> outputType = signatureOverride.output(); if (outputType != ResourceMethodSignature.NONE.class) { AnnotationProcessorEnvironment env = net.sf.jelly.apt.Context.getCurrentEnvironment(); TypeDeclaration type = env.getTypeDeclaration(outputType.getName()); return new ResourceRepresentationMetadata(env.getTypeUtils().getDeclaredType(type), returnType.getDocValue()); } } catch (MirroredTypeException e) { DecoratedTypeMirror typeMirror = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(e.getTypeMirror()); if (typeMirror.isDeclared()) { if (typeMirror.isInstanceOf(ResourceMethodSignature.class.getName() + ".NONE")) { return null; } return new ResourceRepresentationMetadata(typeMirror, returnType.getDocValue()); } else { throw new ValidationException(getPosition(), "Illegal output type (must be a declared type): " + typeMirror); } } return null; }
if (!((DecoratedTypeMirror) restParameter.getType()).isInstanceOf(String.class.getName())) { result.addError(restParameter, "Content type parameter must be a String."); if (!isDataHandler(decoratedNounValueType) && !isDataHandlers(decoratedNounValueType) && !decoratedNounValueType.isClass()) { if (requireJAXBCompatibility) { result.addError(nounValue, "Enunciate doesn't support unmarshalling objects of type " + decoratedNounValueType + if (!returnType.isVoid() && !returnType.isInstanceOf(DataHandler.class.getName()) && !returnType.isClass()) { if (requireJAXBCompatibility) { result.addError(method, "Enunciate doesn't support marshalling objects of type " + returnType +
if (typeMirror.isDeclared()) { if (typeMirror.isInstanceOf(ResourceMethodSignature.class.getName() + ".NONE")) { return null;
if (!((DecoratedTypeMirror) restParameter.getType()).isInstanceOf(String.class.getName())) { result.addError(restParameter.getPosition(), "Content type parameter must be a String."); if ((!returnType.isVoid()) && (!returnType.isInstanceOf(DataHandler.class.getName()))) { boolean isValidRESTReturnType = false; if (method.getReturnType() instanceof DeclaredType) {
/** * Whether this adapter can adapt the specified type. * * @param type The type. * @return Whether this adapter can adapt the specified type. */ public boolean canAdapt(ReferenceType type) { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(type); ReferenceType adaptedType = getAdaptedType(); if (adaptedType instanceof DeclaredType) { return ((DeclaredType)adaptedType).getDeclaration() != null && decorated.isInstanceOf(((DeclaredType)adaptedType).getDeclaration().getQualifiedName()); } else if (adaptedType instanceof ArrayType) { if (decorated instanceof ArrayType) { TypeMirror adaptedComponentType = ((ArrayType) adaptedType).getComponentType(); while (adaptedComponentType instanceof DecoratedTypeMirror) { adaptedComponentType = ((DecoratedTypeMirror) adaptedComponentType).getDelegate(); } TypeMirror componentType = ((ArrayType) decorated).getComponentType(); while (componentType instanceof DecoratedTypeMirror) { componentType = ((DecoratedTypeMirror) componentType).getDelegate(); } Types typeUtils = Context.getCurrentEnvironment().getTypeUtils(); return typeUtils.isAssignable(componentType, adaptedComponentType); } } return false; }
@Override public String convert(TypeMirror typeMirror) throws TemplateModelException { DecoratedTypeMirror decorated = (DecoratedTypeMirror) TypeMirrorDecorator.decorate(typeMirror); if ((typeMirror instanceof ArrayType) && (((ArrayType) typeMirror).getComponentType() instanceof PrimitiveType)) { //special case for primitive arrays. return super.convert(((ArrayType) typeMirror).getComponentType()) + "[]"; } else if (decorated.isEnum()) { return String.class.getName(); } else if (decorated.isDeclared()) { DeclaredType declaredType = ((DeclaredType) decorated); String fqn = declaredType.getDeclaration().getQualifiedName(); if (classConversions.containsKey(fqn)) { return classConversions.get(fqn); } } return super.convert(typeMirror); }
/** * The min occurs of this parameter as a child element. * * @return 1 if primitive. 0 otherwise. */ public int getMinOccurs() { DecoratedTypeMirror paramType = (DecoratedTypeMirror) getType(); return paramType.isPrimitive() ? 1 : 0; }
private boolean isDataHandler(DecoratedTypeMirror type) { return type.isDeclared() && ((DeclaredType) type).getDeclaration() != null && "javax.activation.DataHandler".equals(((DeclaredType) type).getDeclaration().getQualifiedName()); }