Package net.sf.jelly.apt.decorations.type

Examples of net.sf.jelly.apt.decorations.type.DecoratedTypeMirror


    TemplateModel from = (TemplateModel) list.get(0);
    Object unwrapped = BeansWrapper.getDefaultInstance().unwrap(from);

    if (unwrapped instanceof Accessor) {
      DecoratedTypeMirror accessorType = (DecoratedTypeMirror) ((Accessor) unwrapped).getBareAccessorType();

      if (accessorType.isInstanceOf(JAXBElement.class.getName())) {
        unwrapped = KnownXmlType.ANY_TYPE.getQname();
      }
      else if (unwrapped instanceof Element && ((Element)unwrapped).getRef() != null) {
        unwrapped = ((Element) unwrapped).getRef();
      }
View Full Code Here


    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;
        }
      }
    }
View Full Code Here

    return super.convert(accessor);
  }

  @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 "int";
        case BYTE:
          return "unsigned char";
        case INT:
          return "int";
        case SHORT:
          return "short";
        case FLOAT:
          return "float";
        case DOUBLE:
          return "double";
        case LONG:
          return "long long";
        case CHAR:
          return "unsigned short";
        default:
          return "xmlChar";
      }
    }
    else if (decorated.isCollection()) {
      if (decorated instanceof DeclaredType) {
        Collection<TypeMirror> typeArgs = ((DeclaredType) typeMirror).getActualTypeArguments();
        if (typeArgs.size() == 1) {
          TypeMirror typeArg = typeArgs.iterator().next();
          if (typeArg instanceof WildcardType) {
            WildcardType wildcardType = (WildcardType) typeArg;
            if (wildcardType.getUpperBounds() != null && !wildcardType.getUpperBounds().isEmpty()) {
              typeArg = wildcardType.getUpperBounds().iterator().next();
            }
          }
         
          return convert(typeArg);
        }
      }
      return "xmlNode";
    }
    else if (decorated.isArray()) {
      TypeMirror componentType = ((ArrayType) decorated).getComponentType();
      if ((componentType instanceof PrimitiveType) && (((PrimitiveType) componentType).getKind() == PrimitiveType.Kind.BYTE)) {
        return "unsigned char";
      }
View Full Code Here

TOP

Related Classes of net.sf.jelly.apt.decorations.type.DecoratedTypeMirror

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.