throw new IllegalArgumentException("\"? super \" declaration is not yet supported"); } else if (wildcardType.getExtends() != null) { resolvedClass = buildClass(_package, (ClassOrInterfaceType) wildcardType.getExtends().getType(), 0).wildcard(); } else { resolvedClass = _package.owner().ref(Object.class).wildcard();
/** * Gets a {@link JClass} representation for "?", * which is equivalent to "? extends Object". */ public JClass wildcard() { if(wildcard==null) wildcard = ref(Object.class).wildcard(); return wildcard; }
/** * Gets a {@link JClass} representation for "?", * which is equivalent to "? extends Object". */ public JClass wildcard() { if(wildcard==null) wildcard = ref(Object.class).wildcard(); return wildcard; }
/** * Gets a {@link JClass} representation for "?", * which is equivalent to "? extends Object". */ public JClass wildcard() { if(wildcard==null) wildcard = ref(Object.class).wildcard(); return wildcard; }
/** * Gets a {@link JClass} representation for "?", * which is equivalent to "? extends Object". */ public JClass wildcard() { if(wildcard==null) wildcard = ref(Object.class).wildcard(); return wildcard; }
/** * Gets a {@link JClass} representation for "?", * which is equivalent to "? extends Object". */ public JClass wildcard() { if(wildcard==null) wildcard = ref(Object.class).wildcard(); return wildcard; }
@Nullable private JClass refCollectionParam( @Nonnull TypeMirror collectionType ) { try { TypeMirror collectionParamType = TypeUtils.getCollectionParam( collectionType ); if ( TypeUtils.isWildcardType( collectionParamType ) ) { return ref( TypeUtils.getErasure( collectionParamType ).toString() ).wildcard(); } else { return ref( collectionParamType.toString() ); } } catch ( NotFoundException ignore ) { return null; } }
@Nonnull @Override public JClass generateFieldType( @Nonnull FieldDeclarationInfo fieldInfo ) { JClass collectionType = codeGenerator.ref( fieldInfo.getCollectionParam().toString() ); JClass list = codeGenerator.getModel().ref( List.class ); return list.narrow( collectionType.wildcard() ); }
@Override public JType visitWildcard(WildcardType t, Void aVoid) { if (t.getExtendsBound()!=null) { return t(t.getExtendsBound(), typeVars).boxify().wildcard(); } if (t.getSuperBound()!=null) { throw new UnsupportedOperationException(); } return codeModel.wildcard(); }
@Override public JType visitWildcard(WildcardTree wt, Void __) { Tree b = wt.getBound(); if (b==null) return codeModel.wildcard(); else return visit(b).boxify().wildcard(); }
protected void createDataPoint( @Nonnull JDefinedClass testClass, @Nonnull JClass serializerClass, @Nonnull JClass domainType, @Nonnull DomainObjectDescriptor domainObjectDescriptor ) { JFieldVar field = testClass.field( JMod.STATIC | JMod.PUBLIC | JMod.FINAL, codeGenerator.ref( Entry.class ).narrow( domainType.wildcard() ), DATA_POINT_FIELD_NAME ); field.annotate( codeModel.ref( "org.junit.experimental.theories.DataPoint" ) ); JInvocation domainObjectCreation = createDomainObjectCreationExpression( domainObjectDescriptor ); JExpression expected = createExpectedExpression( testClass, domainType ); field.init( testClass.staticInvoke( METHOD_NAME_CREATE ).arg( domainObjectCreation ).arg( expected ) ); }
/** * Javadoc setup. */ @RequiredArgsConstructor private enum JavaDocs { DOCS_TOP_CLASS("top_class"), DOCS_CONSTRUCTOR("constructor"); private static final String JAVADOC_DIR = "arbitrary-action-builder-procreator"; private final String name; String fillTemplate(final Object... params) { return String.format(JavadocUtils.getTemplateString(JAVADOC_DIR, name), params); } }
@Override protected JExpression unwrap(JExpression source) { final JType declaredType = getDeclaredType(); final JClass elementClass = codeModel.ref(JAXBElement.class).narrow( declaredType.boxify().wildcard()); // TODO remove if cast is not necessary final JExpression value = JExpr.cast(elementClass, source); if (xmlAdapterClass == null) { return XmlAdapterXjcUtils.unmarshallJAXBElement(codeModel, value); } else { return XmlAdapterXjcUtils.unmarshallJAXBElement(codeModel, xmlAdapterClass, value); } }
@Override protected JExpression unwrap(JExpression source) { final JType declaredType = getDeclaredType(); final JClass elementClass = codeModel.ref(JAXBElement.class).narrow( declaredType.boxify().wildcard()); // TODO remove if cast is not necessary final JExpression value = JExpr.cast(elementClass, source); if (xmlAdapterClass == null) { return XmlAdapterXjcUtils.unmarshallJAXBElement(codeModel, value); } else { return XmlAdapterXjcUtils.unmarshallJAXBElement(codeModel, xmlAdapterClass, value); } }
public JavaType getResponseBeanJavaType(){ JCodeModel cm = _responseBean.getJavaType().getType().getType().owner(); if(_asyncOpType.equals(AsyncOperationType.CALLBACK)){ JClass future = cm.ref(java.util.concurrent.Future.class).narrow(cm.ref(Object.class).wildcard()); return new JavaSimpleType(new JAXBTypeAndAnnotation(future)); }else if(_asyncOpType.equals(AsyncOperationType.POLLING)){ JClass polling = cm.ref(javax.xml.ws.Response.class).narrow(_responseBean.getJavaType().getType().getType().boxify()); return new JavaSimpleType(new JAXBTypeAndAnnotation(polling)); } return null; }
public JavaType getResponseBeanJavaType(){ JCodeModel cm = _responseBean.getJavaType().getType().getType().owner(); if(_asyncOpType.equals(AsyncOperationType.CALLBACK)){ JClass future = cm.ref(java.util.concurrent.Future.class).narrow(cm.ref(Object.class).wildcard()); return new JavaSimpleType(new JAXBTypeAndAnnotation(future)); }else if(_asyncOpType.equals(AsyncOperationType.POLLING)){ JClass polling = cm.ref(javax.xml.ws.Response.class).narrow(_responseBean.getJavaType().getType().getType().boxify()); return new JavaSimpleType(new JAXBTypeAndAnnotation(polling)); } return null; }
public JavaType getResponseBeanJavaType(){ JCodeModel cm = _responseBean.getJavaType().getType().getType().owner(); if(_asyncOpType.equals(AsyncOperationType.CALLBACK)){ JClass future = cm.ref(java.util.concurrent.Future.class).narrow(cm.ref(Object.class).wildcard()); return new JavaSimpleType(new JAXBTypeAndAnnotation(future)); }else if(_asyncOpType.equals(AsyncOperationType.POLLING)){ JClass polling = cm.ref(javax.xml.ws.Response.class).narrow(_responseBean.getJavaType().getType().getType().boxify()); return new JavaSimpleType(new JAXBTypeAndAnnotation(polling)); } return null; }
public JavaType getResponseBeanJavaType(){ JCodeModel cm = _responseBean.getJavaType().getType().getType().owner(); if(_asyncOpType.equals(AsyncOperationType.CALLBACK)){ JClass future = cm.ref(java.util.concurrent.Future.class).narrow(cm.ref(Object.class).wildcard()); return new JavaSimpleType(new JAXBTypeAndAnnotation(future)); }else if(_asyncOpType.equals(AsyncOperationType.POLLING)){ JClass polling = cm.ref(javax.xml.ws.Response.class).narrow(_responseBean.getJavaType().getType().getType().boxify()); return new JavaSimpleType(new JAXBTypeAndAnnotation(polling)); } return null; }
private void generate_setFromRawEntity(ClassHolder classHolder) { CreateFromRawEntityHolder holder = new CreateFromRawEntityHolder(); holder.classHolder = classHolder; holder.method = classHolder.definedClass.method(JMod.PUBLIC, Void.TYPE, "setFromRawEntity"); holder.method.annotate(Override.class); holder.torchFactory = holder.method.param(CodeModelTypes.TORCH_FACTORY, "torchFactory"); holder.rawEntity = holder.method.param(CodeModelTypes.READABLE_RAW_ENTITY, "rawEntity"); holder.entity = holder.method.param(classHolder.entityClass, "entity"); holder.loadGroups = holder.method.param(CodeModelTypes.SET.narrow(CodeModelTypes.CLASS.narrow( CodeModelTypes.OBJECT.wildcard())), "loadGroups"); for (PropertyMirror propertyMirror : classHolder.entityMirror.getProperties()) { Marshaller marshaller = marshallerRegistry.getMarshallerOrThrow(propertyMirror); holder.method.body().directStatement( "// " + propertyMirror.getType() + " by " + marshaller.getClass().getName()); holder.method.body().add(marshaller.unmarshall(holder, propertyMirror)); } }
public JAXBObjectFactoryBuilder(BuilderContext builderContext, Class type) { this.builderContext = builderContext; this.type = type; String className = "sxc." + type.getName() + "JAXB"; try { jaxbObjectFactoryClass = builderContext.getCodeModel()._class(className); jaxbObjectFactoryClass._extends(builderContext.getCodeModel().ref(JAXBObjectFactory.class).narrow(type)); } catch (JClassAlreadyExistsException e) { throw new BuildException(e); } // INSTANCE variable jaxbObjectFactoryClass.field(JMod.PUBLIC | JMod.STATIC | JMod.FINAL, jaxbObjectFactoryClass, "INSTANCE", JExpr._new(jaxbObjectFactoryClass)); // constructor constructor = jaxbObjectFactoryClass.constructor(JMod.PUBLIC); superInvocation = constructor.body().invoke("super").arg(JExpr.dotclass(builderContext.toJClass(type))); // Map<QName, JAXBObject> rootElements = new HashMap<QName, JAXBObject>(); JClass qnameJClass = builderContext.toJClass(QName.class); JClass extendsJAXBObjectClass = builderContext.toJClass(Class.class).narrow(builderContext.toJClass(JAXBObject.class).wildcard()); JClass rootElementsType = builderContext.toJClass(Map.class).narrow(qnameJClass, extendsJAXBObjectClass); rootElements = jaxbObjectFactoryClass.field(JMod.PRIVATE | JMod.FINAL, rootElementsType, "rootElements"); rootElements.init(JExpr._new(builderContext.toJClass(HashMap.class).narrow(qnameJClass, extendsJAXBObjectClass))); // public Map<QName, JAXBObject>() getRootElements() { return rootElements; } JMethod method = jaxbObjectFactoryClass.method(JMod.PUBLIC, rootElementsType, "getRootElements"); method.body()._return(rootElements); }