/** * Figure out the concrete implementation class to be used. */ JType implType() { if(cm.ref(Set.class).isAssignableFrom(collectionType)) return cm.ref(HashSet.class).narrow(itemType); return cm.ref(ArrayList.class).narrow(itemType); }
private boolean matches(final JClass thatType) { final JClass thisType = getType(); if (thisType.isAssignableFrom(thatType)) { return true; } else if(thisType.erasure().isAssignableFrom(thatType.erasure())) { return true; } else { return false; } }
@Override public Boolean visit(JCMTypeWildcard type) { return getType().isAssignableFrom(type.getType()); } };
@Override public Boolean visit(JCMTypeVar type) { return getType().isAssignableFrom(type.getType()); }
@Override public Boolean visit(JCMClass type) { return getType().isAssignableFrom(type.getType()); }
public int compare( final CClassInfo o1, final CClassInfo o2 ) { final JClass javaClass1 = o1.toType( this.outline, Aspect.IMPLEMENTATION ); final JClass javaClass2 = o2.toType( this.outline, Aspect.IMPLEMENTATION ); int ret = 0; if ( !javaClass1.binaryName().equals( javaClass2.binaryName() ) ) { if ( javaClass1.isAssignableFrom( javaClass2 ) ) { ret = -1; } else if ( javaClass2.isAssignableFrom( javaClass1 ) ) { ret = 1; } } return ret; }
public int compare( final CTypeInfo o1, final CTypeInfo o2 ) { final JType javaType1 = o1.toType( this.outline, Aspect.IMPLEMENTATION ); final JType javaType2 = o2.toType( this.outline, Aspect.IMPLEMENTATION ); int ret = 0; if ( !javaType1.binaryName().equals( javaType2.binaryName() ) && javaType1 instanceof JClass && javaType2 instanceof JClass ) { if ( ( (JClass) javaType1 ).isAssignableFrom( (JClass) javaType2 ) ) { ret = -1; } else if ( ( (JClass) javaType2 ).isAssignableFrom( (JClass) javaType1 ) ) { ret = 1; } } return ret; }
private AvroType avroFromSpecialTypes(JClass clazz, JPackage _package) { String pName = makePackageName(_package); if (clazz.isAssignableFrom(clazz.owner().ref(XMLGregorianCalendar.class))) { specialSchemas.get(DateAvroType.class).add(pName); return new DateAvroType(pName); } if (clazz.isAssignableFrom(clazz.owner().ref(BigInteger.class))) { return AvroPrimitive.PrimitiveType.STRING.newInstance(); } return null; }
public Boolean visit(JCMTypeWildcard type) { return getType().isAssignableFrom(type.getType()._extends()); }; };
if( b!=null && this.isAssignableFrom(b) ) return true; Iterator<JClass> itfs = derived._implements(); while( itfs.hasNext() ) if( this.isAssignableFrom(itfs.next()) ) return true;
if( b!=null && this.isAssignableFrom(b) ) return true; Iterator<JClass> itfs = derived._implements(); while( itfs.hasNext() ) if( this.isAssignableFrom(itfs.next()) ) return true;
if( b!=null && this.isAssignableFrom(b) ) return true; Iterator<JClass> itfs = derived._implements(); while( itfs.hasNext() ) if( this.isAssignableFrom(itfs.next()) ) return true;
if( b!=null && this.isAssignableFrom(b) ) return true; Iterator itfs = derived._implements(); while( itfs.hasNext() ) if( this.isAssignableFrom((JClass)itfs.next()) ) return true;
if( b!=null && this.isAssignableFrom(b) ) return true; Iterator<JClass> itfs = derived._implements(); while( itfs.hasNext() ) if( this.isAssignableFrom(itfs.next()) ) return true;
private JMethod createQueryMethod(final JDefinedClass entity, final JDefinedClass targetClass, final String name, final String returnTypeName) { JType returnType; if (returnTypeName.equals(entity.fullName())) { returnType = entity; } else { returnType = getModel().ref(returnTypeName); } final JClass collectionType = getModel().ref(Collection.class.getName()); if (returnType instanceof JClass && collectionType.isAssignableFrom((JClass) returnType)) { returnType = ((JClass) returnType).narrow(entity); } return addMethodSignature(targetClass, name, returnType); }
private JMethod createQueryMethod(final JDefinedClass entity, final JDefinedClass targetClass, final String name, final String returnTypeName) { JType returnType; if (returnTypeName.equals(entity.fullName())) { returnType = entity; } else { returnType = getModel().ref(returnTypeName); } final JClass collectionType = getModel().ref(Collection.class.getName()); if (returnType instanceof JClass && collectionType.isAssignableFrom((JClass) returnType)) { returnType = ((JClass) returnType).narrow(entity); } return addMethodSignature(targetClass, name, returnType); }
/** * Figure out the concrete implementation class to be used. */ JType implType() { if(cm.ref(Set.class).isAssignableFrom(collectionType)) return cm.ref(HashSet.class).narrow(itemType); return cm.ref(ArrayList.class).narrow(itemType); }
public int compare( final CElementInfo o1, final CElementInfo o2 ) { final JClass javaClass1; final JClass javaClass2; if ( this.hasClass ) { javaClass1 = (JClass) o1.toType( this.outline, Aspect.IMPLEMENTATION ); javaClass2 = (JClass) o2.toType( this.outline, Aspect.IMPLEMENTATION ); } else { javaClass1 = (JClass) o1.getContentType().toType( this.outline, Aspect.IMPLEMENTATION ); javaClass2 = (JClass) o2.getContentType().toType( this.outline, Aspect.IMPLEMENTATION ); } int ret = 0; if ( !javaClass1.binaryName().equals( javaClass2.binaryName() ) ) { if ( javaClass1.isAssignableFrom( javaClass2 ) ) { ret = -1; } else if ( javaClass2.isAssignableFrom( javaClass1 ) ) { ret = 1; } } return ret; }
private JInvocation generateImmutableListInstantiation(final PluginContext pluginContext, final JFieldRef fieldRef, final JType elementType) { if (this.overrideCollectionClass == null) { return pluginContext.unmodifiableList(fieldRef); } else { final JClass overrideCollection = pluginContext.codeModel.ref(this.overrideCollectionClass); if (overrideCollection.isAssignableFrom(pluginContext.codeModel.ref(Collection.class))) { return pluginContext.unmodifiableList(fieldRef); } else { return JExpr._new(overrideCollection.narrow(elementType)).arg(fieldRef); } } } }
JMethod generateCreateCopyMethod(final boolean partial) { final JDefinedClass definedClass = this.classOutline.implClass; final JMethod cloneMethod = definedClass.method(JMod.PUBLIC, definedClass, this.pluginContext.copyMethodName); final CopyGenerator cloneGenerator = this.pluginContext.createCopyGenerator(cloneMethod, partial); cloneMethod.annotate(Override.class); final JBlock body = cloneMethod.body(); final JVar newObjectVar; final boolean superPartialCopyable = this.pluginContext.partialCopyableInterface.isAssignableFrom(definedClass._extends()); final boolean superCopyable = this.pluginContext.copyableInterface.isAssignableFrom(definedClass._extends()); if (superPartialCopyable) { newObjectVar = body.decl(JMod.FINAL, definedClass, this.pluginContext.newObjectVarName, JExpr.cast(definedClass, cloneGenerator.generatePartialArgs(this.pluginContext.invoke(JExpr._super(), this.pluginContext.copyMethodName)))); } else if(superCopyable) { newObjectVar = body.decl(JMod.FINAL, definedClass, this.pluginContext.newObjectVarName, JExpr.cast(definedClass, JExpr._super().invoke(this.pluginContext.copyMethodName))); } else { newObjectVar = body.decl(JMod.FINAL, definedClass, this.pluginContext.newObjectVarName, null); final JBlock maybeTryBlock = this.pluginContext.catchCloneNotSupported(body, definedClass._extends()); maybeTryBlock.assign(newObjectVar, JExpr.cast(definedClass, JExpr._super().invoke(this.pluginContext.cloneMethodName))); } generateFieldCopyExpressions(cloneGenerator, body, newObjectVar, JExpr._this()); body._return(newObjectVar); return cloneMethod; }