本文整理了Java中com.helger.jcodemodel.AbstractJClass.narrow()
方法的一些代码示例,展示了AbstractJClass.narrow()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。AbstractJClass.narrow()
方法的具体详情如下:
包路径:com.helger.jcodemodel.AbstractJClass
类名称:AbstractJClass
方法名:narrow
[英]"Narrows" a generic class to a concrete class by specifying a type argument..narrow(X)
builds Set<X>
from Set
.
[中]通过指定类型参数,将泛型类“缩小”为具体类。.narrow(X)
从Set
生成Set<X>
。
代码示例来源:origin: androidannotations/androidannotations
public AbstractJClass narrowGeneratedClass(AbstractJClass generatedClass, TypeMirror fromTypeArguments) {
DeclaredType type = (DeclaredType) fromTypeArguments;
for (TypeMirror param : type.getTypeArguments()) {
AbstractJClass paramClass = typeMirrorToJClass(param);
generatedClass = generatedClass.narrow(paramClass);
}
return generatedClass;
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getSuperClass() {
AbstractJClass superClass = environment.getJClass(org.androidannotations.api.builder.ActivityIntentBuilder.class);
return superClass.narrow(builderClass);
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getSuperClass() {
AbstractJClass superClass = getJClass(org.androidannotations.api.builder.ServiceIntentBuilder.class);
return superClass.narrow(builderClass);
}
}
代码示例来源:origin: androidannotations/androidannotations
private AbstractJClass typeMirrorToJClass(DeclaredType declaredType, Map<String, TypeMirror> substitute) {
String declaredTypeName = declaredType.asElement().toString();
AbstractJClass declaredClass = environment.getJClass(declaredTypeName);
List<? extends TypeMirror> typeArguments = declaredType.getTypeArguments();
List<AbstractJClass> typeArgumentJClasses = new ArrayList<>();
for (TypeMirror typeArgument : typeArguments) {
typeArgumentJClasses.add(typeMirrorToJClass(typeArgument, substitute));
}
if (typeArgumentJClasses.size() > 0) {
declaredClass = declaredClass.narrow(typeArgumentJClasses);
}
return declaredClass;
}
代码示例来源:origin: androidannotations/androidannotations
public AbstractJClass narrow(AbstractJClass toNarrow) {
List<AbstractJClass> classes = new ArrayList<>();
for (JTypeVar type : generatedClass.typeParams()) {
classes.add(getCodeModel().directClass(type.name()));
}
if (classes.isEmpty()) {
return toNarrow;
}
return toNarrow.narrow(classes);
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getListenerTargetClass(EComponentWithViewSupportHolder holder) {
return getClasses().ADAPTER_VIEW.narrow(getCodeModel().wildcard());
}
}
代码示例来源:origin: androidannotations/androidannotations
private void createEditorClass() throws JClassAlreadyExistsException {
String interfaceSimpleName = annotatedElement.getSimpleName().toString();
editorClass = generatedClass._class(PUBLIC | STATIC | FINAL, interfaceSimpleName + "Editor" + classSuffix());
editorClass._extends(getJClass(EditorHelper.class).narrow(editorClass));
createEditorConstructor();
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getListenerTargetClass(EComponentWithViewSupportHolder holder) {
return getClasses().ADAPTER_VIEW.narrow(getCodeModel().wildcard());
}
代码示例来源:origin: androidannotations/androidannotations
@Override
protected AbstractJClass getListenerTargetClass(EComponentWithViewSupportHolder holder) {
return getClasses().ADAPTER_VIEW.narrow(getCodeModel().wildcard());
}
}
代码示例来源:origin: androidannotations/androidannotations
public void createEditorFieldMethods(ExecutableElement method, IJExpression keyExpression) {
String returnType = method.getReturnType().toString();
EditorFieldHolder editorFieldHolder = EDITOR_FIELD_BY_TYPE.get(returnType);
AbstractJClass editorFieldClass = getJClass(editorFieldHolder.fieldClass);
String fieldName = method.getSimpleName().toString();
JMethod editorFieldMethod = editorClass.method(PUBLIC, editorFieldClass.narrow(editorClass), fieldName);
String docComment = getProcessingEnvironment().getElementUtils().getDocComment(method);
codeModelHelper.addTrimmedDocComment(editorFieldMethod, docComment);
editorFieldMethod.body()._return(JExpr.invoke(editorFieldHolder.fieldMethodName).arg(keyExpression));
}
代码示例来源: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
private void fireEvent(JFieldVar eventManager, JBlock body, AbstractJClass eventClass, IJExpression... eventArguments) {
AbstractJClass actualEventClass = eventClass;
if (eventClass.fullName().startsWith("roboguice.context.event")) {
actualEventClass = eventClass.narrow(getClasses().ACTIVITY);
}
JInvocation newEvent = _new(actualEventClass);
newEvent.arg(_this());
for (IJExpression eventArgument : eventArguments) {
newEvent.arg(eventArgument);
}
body.invoke(eventManager, "fire").arg(newEvent);
}
代码示例来源:origin: androidannotations/androidannotations
public JFieldVar getScopedObjectsField() {
if (scopedObjects == null) {
AbstractJClass keyWildCard = getJClass(RoboGuiceClasses.KEY).narrow(getCodeModel().wildcard());
AbstractJClass scopedHashMap = environment().getClasses().HASH_MAP.narrow(keyWildCard, environment().getClasses().OBJECT);
scopedObjects = getGeneratedClass().field(JMod.PROTECTED, scopedHashMap, "scopedObjects" + generationSuffix());
scopedObjects.assign(JExpr._new(scopedHashMap));
}
return scopedObjects;
}
代码示例来源:origin: androidannotations/androidannotations
public IJExpression createParameterizedTypeReferenceAnonymousSubclassInstance(TypeMirror returnType) {
AbstractJClass narrowedTypeReference = getEnvironment().getJClass(RestSpringClasses.PARAMETERIZED_TYPE_REFERENCE).narrow(codeModelHelper.typeMirrorToJClass(returnType));
JDefinedClass anonymousClass = getEnvironment().getCodeModel().anonymousClass(narrowedTypeReference);
return JExpr._new(anonymousClass);
}
代码示例来源:origin: androidannotations/androidannotations
private void setOnBuildHeadersBlock() {
JMethod method = getGeneratedClass().method(PUBLIC, codeModel().VOID, "onBuildHeaders");
method.annotate(Override.class);
onBuildHeadersBlock = method.body();
onBuildHeadersTargetParam = method.param(getClasses().LIST.narrow(getClasses().PREFERENCE_ACTIVITY_HEADER), "target");
}
代码示例来源:origin: androidannotations/androidannotations
private void setAvailableHeadersField() {
AbstractJClass stringClass = getClasses().STRING;
AbstractJClass mapClass = getClasses().HASH_MAP.narrow(stringClass, stringClass);
availableHeadersField = getGeneratedClass().field(JMod.PRIVATE, mapClass, "availableHeaders");
getInit().body().assign(availableHeadersField, _new(mapClass));
}
代码示例来源:origin: androidannotations/androidannotations
private void setAvailableCookiesField() {
AbstractJClass stringClass = getClasses().STRING;
AbstractJClass mapClass = getClasses().HASH_MAP.narrow(stringClass, stringClass);
availableCookiesField = getGeneratedClass().field(JMod.PRIVATE, mapClass, "availableCookies");
getInit().body().assign(availableCookiesField, _new(mapClass));
}
代码示例来源:origin: androidannotations/androidannotations
private void setFragmentBuilder() throws JClassAlreadyExistsException {
fragmentBuilderClass = generatedClass._class(PUBLIC | STATIC, "FragmentBuilder" + generationSuffix());
narrowBuilderClass = narrow(fragmentBuilderClass);
codeModelHelper.generify(fragmentBuilderClass, annotatedElement);
AbstractJClass superClass = getJClass(org.androidannotations.api.builder.FragmentBuilder.class);
superClass = superClass.narrow(narrowBuilderClass, getAnnotatedClass());
fragmentBuilderClass._extends(superClass);
fragmentArgumentsBuilderField = ref("args");
setFragmentBuilderBuild();
setFragmentBuilderCreate();
}
代码示例来源: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: 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());
}
内容来源于网络,如有侵权,请联系作者删除!