本文整理了Java中com.helger.jcodemodel.AbstractJClass
类的一些代码示例,展示了AbstractJClass
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AbstractJClass
类的具体详情如下:
包路径:com.helger.jcodemodel.AbstractJClass
类名称:AbstractJClass
[英]Represents a Java reference type, such as a class, an interface, an enum, an array type, a parameterized type.
To be exact, this object represents an "use" of a reference type, not necessarily a declaration of it, which is modeled as JDefinedClass.
[中]表示Java引用类型,例如类、接口、枚举、数组类型和参数化类型。
确切地说,这个对象表示引用类型的“使用”,而不一定是它的声明,它被建模为JDefinedClass。
代码示例来源:origin: androidannotations/androidannotations
public IJExpression getExpressionToRestoreFromBundle(AbstractJClass variableClass, IJExpression bundle, IJExpression extraKey, JMethod method) {
IJExpression expressionToRestore;
if (methodNameToRestore.equals("getParcelableArray")) {
AbstractJClass erasure;
if (upperBound != null) {
erasure = codeModelHelper.typeMirrorToJClass(upperBound).erasure().array();
} else {
erasure = variableClass.elementType().erasure().array();
}
expressionToRestore = environment.getJClass(org.androidannotations.api.bundle.BundleHelper.class).staticInvoke("getParcelableArray").arg(bundle).arg(extraKey).arg(erasure.dotclass());
} else {
expressionToRestore = JExpr.invoke(bundle, methodNameToRestore).arg(extraKey);
}
if (parcelerBean) {
expressionToRestore = environment.getJClass(CanonicalNameConstants.PARCELS_UTILITY_CLASS).staticInvoke("unwrap").arg(expressionToRestore);
}
if (restoreCallNeedCastStatement) {
expressionToRestore = JExpr.cast(variableClass, expressionToRestore);
if (restoreCallNeedsSuppressWarning) {
codeModelHelper.addSuppressWarnings(method, "unchecked");
}
}
return expressionToRestore;
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getSuperClass() {
AbstractJClass superClass = environment.getJClass(org.androidannotations.api.builder.ActivityIntentBuilder.class);
return superClass.narrow(builderClass);
}
代码示例来源:origin: androidannotations/androidannotations
private String getInvocationName(JFieldVar field) {
AbstractJClass listOfStrings = getClasses().LIST.narrow(getClasses().STRING);
if (field.type().fullName().equals(listOfStrings.fullName())) {
return "contains";
}
return "equals";
}
代码示例来源:origin: androidannotations/androidannotations
protected String plainName(AbstractJClass jClass) {
String plainName = jClass.erasure().name();
List<? extends AbstractJClass> typeParameters = jClass.getTypeParameters();
if (typeParameters.size() > 0) {
plainName += "_";
for (AbstractJClass typeParameter : typeParameters) {
plainName += plainName(typeParameter);
}
}
return plainName;
}
代码示例来源:origin: androidannotations/androidannotations
private AbstractJClass typeMirrorToJClass(WildcardType wildcardType, Map<String, TypeMirror> substitute) {
TypeMirror bound = wildcardType.getExtendsBound();
if (bound == null) {
bound = wildcardType.getSuperBound();
if (bound == null) {
return environment.getClasses().OBJECT.wildcardExtends();
}
return typeMirrorToJClass(bound, substitute).wildcardSuper();
}
TypeMirror extendsBound = wildcardType.getExtendsBound();
if (extendsBound == null) {
return environment.getClasses().OBJECT.wildcardExtends();
} else {
return typeMirrorToJClass(extendsBound, substitute).wildcardExtends();
}
}
代码示例来源:origin: com.github.sviperll/adt4j
if (wrapperClass == null)
throw new NullPointerException("wrapperClass annotation argument should never be null");
String wrapperClassFullName = wrapperClass.fullName();
if (wrapperClassFullName == null)
throw new NullPointerException("wrapperClass.fullName() is null");
AbstractJClass wrapperClassErasure = wrapperClass.erasure();
if (wrapperClassErasure instanceof JDefinedClass) {
JDefinedClass definition = (JDefinedClass)wrapperClassErasure;
JAnnotationUse wrapsGeneratedAnnotation = null;
for (JAnnotationUse wrapperAnnotaion: definition.annotations()) {
String annotationClassFullName = wrapperAnnotaion.getAnnotationClass().erasure().fullName();
if (annotationClassFullName != null && annotationClassFullName.equals(WrapsGeneratedValueClass.class.getName())) {
wrapsGeneratedAnnotation = wrapperAnnotaion;
else {
AbstractJClass visitor = wrapsGeneratedAnnotation.getParam("visitor", AbstractJClass.class);
if (visitor == null || visitor.fullName() == null || !visitor.fullName().equals(visitorDefinition.qualifiedName()))
generation.reportError("@" + WrapsGeneratedValueClass.class.getName() + " annotation should have " + visitorDefinition.qualifiedName() + " as visitor argument");
generation.reportError("You shouldn't define className when wrapperClass is used. Generated class name is derived from wrapper class' extends clause.");
} else {
AbstractJClass extendedClass = wrapperClass._extends();
boolean extendedClassError = false;
if (extendedClass != null) {
if (extendedClass.isError()) {
className = extendedClass.name();
} else {
if (valueClass == null) {
代码示例来源:origin: androidannotations/androidannotations
public JInvocation newBeanOrEBean(DeclaredType beanType, JVar contextVar) {
if (beanType.asElement().getAnnotation(EBean.class) != null) {
String typeQualifiedName = beanType.toString();
AbstractJClass injectedClass = environment.getJClass(typeQualifiedName + classSuffix());
return injectedClass.staticInvoke(EBeanHolder.GET_INSTANCE_METHOD_NAME).arg(contextVar);
} else {
return _new(environment.getJClass(beanType.toString()));
}
}
代码示例来源:origin: com.helger/jcodemodel
if (thisClass == thisClass._package ().owner ().ref (Object.class))
return true;
if (thisClass.erasure ().equals (thatClass.erasure ()))
if (!thisClass.isParameterized ())
return true;
if (!thatClass.isParameterized ())
return bAllowsRawTypeUnchekedConversion;
for (int i = 0; i < thisClass.getTypeParameters ().size (); i++)
final AbstractJClass thisParameter = thisClass.getTypeParameters ().get (i);
final AbstractJClass thatParameter = thatClass.getTypeParameters ().get (i);
return false;
if (thisWildcard.boundMode () == EWildcardBoundMode.EXTENDS)
return thisWildcard.bound ().isAssignableFrom (thatWildcard.bound (), false);
if (thisWildcard.boundMode () == EWildcardBoundMode.SUPER)
return thatWildcard.bound ().isAssignableFrom (thisWildcard.bound (), false);
throw new IllegalStateException ("Unsupported wildcard bound mode: " + thisWildcard.boundMode ());
return thisWildcard.bound ().isAssignableFrom (thatParameter, false);
if (thisWildcard.boundMode () == EWildcardBoundMode.SUPER)
return thatParameter.isAssignableFrom (thisWildcard.bound (), false);
throw new IllegalStateException ("Unsupported wildcard bound mode: " + thisWildcard.boundMode ());
final AbstractJClass thatClassBase = thatClass._extends ();
代码示例来源:origin: com.helger/jcodemodel
aReference.fullName () +
", " +
aClassToBeWritten.fullName () +
aRealReference = aRealReference.erasure ();
final AbstractJClass aOuter = aRealReference.outer ();
if (aOuter != null)
if (aRealReference.name ().contains (aOuter.name ()))
代码示例来源:origin: androidannotations/androidannotations
protected IJExpression addResultCallMethod(IJExpression exchangeCall, AbstractJClass methodReturnClass) {
if (methodReturnClass != null && !methodReturnClass.fullName().startsWith(RESPONSE_ENTITY)) {
return JExpr.invoke(exchangeCall, "getBody");
}
return exchangeCall;
}
代码示例来源:origin: androidannotations/androidannotations
private void beforeCreateMethod(EActivityHolder holder, JFieldVar scope, JFieldVar scopedObjects, JFieldVar eventManager) {
JBlock body = holder.getInitBody();
AbstractJClass keyWildCard = getJClass(RoboGuiceClasses.KEY).narrow(getCodeModel().wildcard());
AbstractJClass scopedHashMap = getClasses().HASH_MAP.narrow(keyWildCard, getClasses().OBJECT);
body.assign(scopedObjects, JExpr._new(scopedHashMap));
JVar injector = body.decl(getJClass(RoboGuiceClasses.ROBO_INJECTOR), "injector_", getJClass(RoboGuiceClasses.ROBO_GUICE).staticInvoke("getInjector").arg(_this()));
body.assign(scope, invoke(injector, "getInstance").arg(getJClass(RoboGuiceClasses.CONTEXT_SCOPE).dotclass()));
body.assign(eventManager, invoke(injector, "getInstance").arg(getJClass(RoboGuiceClasses.EVENT_MANAGER).dotclass()));
body.add(injector.invoke("injectMembersWithoutViews").arg(_this()));
fireEvent(eventManager, body, getJClass(RoboGuiceClasses.ON_CREATE_EVENT), holder.getInitSavedInstanceParam());
}
代码示例来源:origin: androidannotations/androidannotations
private JFieldVar setDatabaseHelperRef(TypeMirror databaseHelperTypeMirror) {
AbstractJClass databaseHelperClass = getJClass(databaseHelperTypeMirror.toString());
String fieldName = CaseHelper.lowerCaseFirst(databaseHelperClass.name()) + ModelConstants.generationSuffix();
JFieldVar databaseHelperRef = getGeneratedClass().field(PRIVATE, databaseHelperClass, fieldName);
databaseHelperRefs.put(databaseHelperTypeMirror, databaseHelperRef);
IJExpression dbHelperClass = databaseHelperClass.dotclass();
holder().getInitBodyInjectionBlock().assign(databaseHelperRef, //
getJClass(OrmLiteClasses.OPEN_HELPER_MANAGER).staticInvoke("getHelper").arg(holder().getContextRef()).arg(dbHelperClass));
return databaseHelperRef;
}
代码示例来源:origin: com.github.sviperll/adt4j
public static AbstractJType substitute(AbstractJType type, JTypeVar typeVariable, AbstractJType variableValue) {
if (type == typeVariable)
return variableValue;
else if (!(type instanceof AbstractJClass)) {
return type;
} else {
if (type.isArray())
return substitute(type.elementType(), typeVariable, variableValue).array();
else if (type instanceof JTypeWildcard) {
JTypeWildcard wildcard = (JTypeWildcard)type;
AbstractJClass bound = (AbstractJClass)substitute(wildcard.bound(), typeVariable, variableValue);
return bound.wildcard(wildcard.boundMode());
} else {
/*
* When we get type with type-parameters we should substitute
* type-parameters.
*/
AbstractJClass genericType = (AbstractJClass)type;
if (genericType.getTypeParameters().isEmpty()) {
return genericType;
} else {
AbstractJClass result = genericType.erasure();
for (AbstractJClass typeArgument: genericType.getTypeParameters()) {
result = result.narrow(substitute(typeArgument, typeVariable, variableValue));
}
return result;
}
}
}
}
代码示例来源:origin: androidannotations/androidannotations
@Override
public void assignValue(JBlock targetBlock, IJAssignmentTarget fieldRef, EBeanHolder holder, Element element, Element param) {
TypeMirror elementType = param.asType();
String typeQualifiedName = elementType.toString();
IJExpression contextRef = holder.getContextRef();
if (CanonicalNameConstants.CONTEXT.equals(typeQualifiedName)) {
targetBlock.add(fieldRef.assign(contextRef));
} else {
AbstractJClass extendingContextClass = getEnvironment().getJClass(typeQualifiedName);
JConditional cond = getInvocationBlock(holder)._if(holder.getContextRef()._instanceof(extendingContextClass));
cond._then().add(fieldRef.assign(cast(extendingContextClass, holder.getContextRef())));
JInvocation warningInvoke = getClasses().LOG.staticInvoke("w");
warningInvoke.arg(logTagForClassHolder(holder));
warningInvoke.arg(lit("Due to Context class ").plus(holder.getContextRef().invoke("getClass").invoke("getSimpleName"))
.plus(lit(", the @RootContext " + extendingContextClass.name() + " won't be populated")));
cond._else().add(warningInvoke);
}
}
代码示例来源:origin: androidannotations/androidannotations
private JFieldVar createStaticField(EReceiverHolder holder, String prefix, String methodName, String[] values) {
String staticFieldName = CaseHelper.camelCaseToUpperSnakeCase(prefix, methodName, null);
if (values == null || values.length == 0) {
return null;
} else if (values.length == 1) {
return holder.getGeneratedClass().field(PUBLIC | STATIC | FINAL, getClasses().STRING, staticFieldName, lit(values[0]));
}
JInvocation asListInvoke = getClasses().ARRAYS.staticInvoke("asList");
for (String scheme : values) {
asListInvoke.arg(scheme);
}
AbstractJClass listOfStrings = getClasses().LIST.narrow(getClasses().STRING);
return holder.getGeneratedClass().field(PUBLIC | STATIC | FINAL, listOfStrings, staticFieldName, asListInvoke);
}
代码示例来源:origin: com.helger/jcodemodel
private boolean _collectCausesNoAmbiguities (@Nonnull final AbstractJClass aReference,
@Nonnull final JDefinedClass aClassToBeWritten)
{
if (m_bDebugImport)
System.out.println ("_collectCausesNoAmbiguities(" +
aReference.fullName () +
", " +
aClassToBeWritten.fullName () +
")");
final NameUsage aUsages = m_aCollectedReferences.get (aReference.name ());
if (aUsages == null)
return true;
return !aUsages.isAmbiguousIn (aClassToBeWritten) && aUsages.containsReferencedType (aReference);
}
代码示例来源:origin: com.github.sviperll/adt4j
public boolean isComparable(AbstractJType type) {
if (type.isPrimitive() || type.isArray())
return type.isPrimitive() || type.isArray() && isComparable(type.elementType());
else if (type instanceof AbstractJClass) {
AbstractJClass klass = (AbstractJClass)type;
boolean result = _Comparable.narrow(klass.wildcardSuper()).isAssignableFrom(klass);
return result;
} else
throw new IllegalStateException("Unexpected jcodemodel type: " + type);
}
代码示例来源:origin: com.helger/jcodemodel
public final AbstractJClass getBaseClass (@Nonnull final AbstractJClass aBaseType)
if (erasure ().equals (aBaseType))
return this;
final AbstractJClass b = _extends ();
if (b != null)
final AbstractJClass bc = b.getBaseClass (aBaseType);
if (bc != null)
return bc;
final Iterator <AbstractJClass> itfs = _implements ();
while (itfs.hasNext ())
final AbstractJClass bc = itfs.next ().getBaseClass (aBaseType);
if (bc != null)
return bc;
代码示例来源:origin: com.github.sviperll/adt4j-core
private AbstractJClass narrowed(AbstractJClass usedDataType, AbstractJType resultType, AbstractJType exceptionType, AbstractJType selfType) {
Iterator<? extends AbstractJClass> dataTypeArgumentIterator = usedDataType.getTypeParameters().iterator();
AbstractJClass result = visitorInterfaceModel;
for (JTypeVar typeVariable: visitorInterfaceModel.typeParams()) {
if (typeParameters.isSpecial(typeVariable))
result = result.narrow(typeParameters.substituteSpecialType(typeVariable, usedDataType, resultType, exceptionType));
else
result = result.narrow(dataTypeArgumentIterator.next());
}
return result;
}
代码示例来源:origin: com.helger/jcodemodel
@Override
public String name ()
{
final StringBuilder buf = new StringBuilder ();
buf.append (m_aBasis.name ()).append ('<');
boolean bFirst = true;
for (final AbstractJClass c : m_aArgs)
{
if (bFirst)
bFirst = false;
else
buf.append (',');
buf.append (c.name ());
}
buf.append ('>');
return buf.toString ();
}
内容来源于网络,如有侵权,请联系作者删除!