com.sun.codemodel.JClass.isAssignableFrom()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(8.3k)|赞(0)|评价(0)|浏览(110)

本文整理了Java中com.sun.codemodel.JClass.isAssignableFrom()方法的一些代码示例,展示了JClass.isAssignableFrom()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JClass.isAssignableFrom()方法的具体详情如下:
包路径:com.sun.codemodel.JClass
类名称:JClass
方法名:isAssignableFrom

JClass.isAssignableFrom介绍

[英]Checks the relationship between two classes.

This method works in the same way as Class#isAssignableFrom(Class)works. For example, baseClass.isAssignableFrom(derivedClass)==true.
[中]检查两个类之间的关系。
此方法的工作方式与类#isAssignableFrom(类)的工作方式相同。例如,基类。isAssignableFrom(derivedClass)=真。

代码示例

代码示例来源:origin: javaee/glassfish

/**
 * 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);
}

代码示例来源:origin: org.jvnet.jaxb2_commons/jaxb2-basics-tools

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;
  }
}

代码示例来源:origin: org.jvnet.jaxb2_commons/jaxb2-basics-tools

@Override
  public Boolean visit(JCMTypeWildcard type) {
    return getType().isAssignableFrom(type.getType());
  }
};

代码示例来源:origin: org.jvnet.jaxb2_commons/jaxb2-basics-tools

@Override
public Boolean visit(JCMTypeVar type) {
  return getType().isAssignableFrom(type.getType());
}

代码示例来源:origin: org.jvnet.jaxb2_commons/jaxb2-basics-tools

@Override
public Boolean visit(JCMClass type) {
  return getType().isAssignableFrom(type.getType());
}

代码示例来源:origin: net.sourceforge.ccxjc/cc-xjc-plugin

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;
}

代码示例来源:origin: net.sourceforge.ccxjc/cc-xjc-plugin

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;
}

代码示例来源:origin: nokia/Avro-Schema-Generator

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;
}

代码示例来源:origin: org.jvnet.jaxb2_commons/jaxb2-basics-tools

public Boolean visit(JCMTypeWildcard type) {
    return getType().isAssignableFrom(type.getType()._extends());
    
  };
};

代码示例来源:origin: com.sun.codemodel/codemodel

if( b!=null && this.isAssignableFrom(b) )
  return true;
  Iterator<JClass> itfs = derived._implements();
  while( itfs.hasNext() )
    if( this.isAssignableFrom(itfs.next()) )
      return true;

代码示例来源:origin: javaee/jaxb-v2

if( b!=null && this.isAssignableFrom(b) )
  return true;
  Iterator<JClass> itfs = derived._implements();
  while( itfs.hasNext() )
    if( this.isAssignableFrom(itfs.next()) )
      return true;

代码示例来源:origin: org.glassfish.metro/webservices-tools

if( b!=null && this.isAssignableFrom(b) )
  return true;
  Iterator<JClass> itfs = derived._implements();
  while( itfs.hasNext() )
    if( this.isAssignableFrom(itfs.next()) )
      return true;

代码示例来源:origin: sun-jaxb/jaxb-xjc

if( b!=null && this.isAssignableFrom(b) )
  return true;
  Iterator itfs = derived._implements();
  while( itfs.hasNext() )
    if( this.isAssignableFrom((JClass)itfs.next()) )
      return true;

代码示例来源:origin: com.unquietcode.tools.jcodemodel/codemodel

if( b!=null && this.isAssignableFrom(b) )
  return true;
  Iterator<JClass> itfs = derived._implements();
  while( itfs.hasNext() )
    if( this.isAssignableFrom(itfs.next()) )
      return true;

代码示例来源:origin: bonitasoft/bonita-engine

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);
}

代码示例来源:origin: bonitasoft/bonita-engine

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);
}

代码示例来源:origin: eclipse-ee4j/glassfish

/**
 * 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);
}

代码示例来源:origin: net.sourceforge.ccxjc/cc-xjc-plugin

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;
}

代码示例来源:origin: mklemm/jaxb2-rich-contract-plugin

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);
      }
    }
  }
}

代码示例来源:origin: mklemm/jaxb2-rich-contract-plugin

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;
}

相关文章