本文整理了Java中javax.lang.model.element.Element.getSimpleName()
方法的一些代码示例,展示了Element.getSimpleName()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Element.getSimpleName()
方法的具体详情如下:
包路径:javax.lang.model.element.Element
类名称:Element
方法名:getSimpleName
[英]Returns the simple (unqualified) name of this element. The name of a generic type does not include any reference to its formal type parameters. For example, the simple name of the type element java.util.Set is "Set". If this element represents an unnamed PackageElement#getSimpleName, an empty name is returned. If it represents a ExecutableElement#getSimpleName, the name " " is returned. If it represents a ExecutableElement#getSimpleName, the name " " is returned. If it represents an TypeElement#getSimpleName or ExecutableElement#getSimpleName, an empty name is returned.
[中]返回此元素的简单(非限定)名称。泛型类型的名称不包括对其形式类型参数的任何引用。例如,类型元素java的简单名称。util。Set是“Set”。如果此元素表示未命名的PackageElement#getSimpleName,则返回空名称。如果它表示可执行元素#getSimpleName,则返回名称“”。如果它表示可执行元素#getSimpleName,则返回名称“”。如果它表示TypeElement#getSimpleName或ExecutableElement#getSimpleName,则返回空名称。
代码示例来源:origin: androidannotations/androidannotations
private String getListName(Element element, Element param) {
String listName = param.getSimpleName().toString();
if (element.getKind() == ElementKind.PARAMETER) {
listName = element.getEnclosingElement().getSimpleName().toString() + "_" + listName;
} else if (element.getKind() == ElementKind.METHOD) {
listName = element.getSimpleName().toString() + "_" + listName;
}
return listName;
}
代码示例来源:origin: androidannotations/androidannotations
private String extractTag(Element element) {
WakeLock annotation = element.getAnnotation(WakeLock.class);
String tag = annotation.tag();
if (WakeLock.DEFAULT_TAG.equals(tag)) {
tag = element.getEnclosingElement().getSimpleName().toString() + "." + element.getSimpleName().toString();
}
return tag;
}
}
代码示例来源:origin: immutables/immutables
CachingElement(Element delegate) {
this.delegate = delegate;
this.kind = delegate.getKind();
this.simpleName = delegate.getSimpleName();
this.modifiers = delegate.getModifiers();
}
代码示例来源:origin: androidannotations/androidannotations
public void hasNotMultipleAnnotatedMethodWithSameName(Element element, ElementValidation valid, Class<? extends Annotation> annotation) {
Set<String> actionNames = new TreeSet<>();
List<? extends Element> enclosedElements = element.getEnclosedElements();
for (Element enclosedElement : enclosedElements) {
if (enclosedElement.getKind() != ElementKind.METHOD || !annotationHelper.hasOneOfClassAnnotations(enclosedElement, annotation)) {
continue;
}
String enclosedElementName = enclosedElement.getSimpleName().toString();
if (actionNames.contains(enclosedElementName)) {
valid.addError(enclosedElement, "The " + TargetAnnotationHelper.annotationName(annotation) + " annotated method must have unique name even if the signature is not the same");
} else {
actionNames.add(enclosedElementName);
}
}
}
代码示例来源:origin: apache/incubator-druid
@Override
public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv)
{
for (TypeElement annotation : annotations) {
Set<? extends Element> elementsAnnotatedWith = roundEnv.getElementsAnnotatedWith(annotation);
for (Element element : elementsAnnotatedWith) {
if (!element.getModifiers().contains(Modifier.PUBLIC)) {
processingEnv.getMessager().printMessage(
Diagnostic.Kind.ERROR,
element.getSimpleName() + " must be public",
element
);
}
}
}
return false;
}
}
代码示例来源:origin: airbnb/epoxy
/**
* Get information about methods returning class type of the original class so we can duplicate
* them in the generated class for chaining purposes
*/
protected void collectMethodsReturningClassType(TypeElement modelClass, Types typeUtils) {
TypeElement clazz = modelClass;
while (clazz.getSuperclass().getKind() != TypeKind.NONE) {
for (Element subElement : clazz.getEnclosedElements()) {
Set<Modifier> modifiers = subElement.getModifiers();
if (subElement.getKind() == ElementKind.METHOD
&& !modifiers.contains(Modifier.PRIVATE)
&& !modifiers.contains(Modifier.FINAL)
&& !modifiers.contains(Modifier.STATIC)) {
TypeMirror methodReturnType = ((ExecutableType) subElement.asType()).getReturnType();
if (methodReturnType.equals(clazz.asType())
|| typeUtils.isSubtype(clazz.asType(), methodReturnType)) {
ExecutableElement castedSubElement = ((ExecutableElement) subElement);
List<? extends VariableElement> params = castedSubElement.getParameters();
String methodName = subElement.getSimpleName().toString();
if (methodName.equals(RESET_METHOD) && params.isEmpty()) {
continue;
}
methodsReturningClassType.add(new MethodInfo(methodName, modifiers,
buildParamSpecs(params), castedSubElement.isVarArgs()));
}
}
}
clazz = (TypeElement) typeUtils.asElement(clazz.getSuperclass());
}
}
代码示例来源:origin: JakeWharton/butterknife
private boolean isInaccessibleViaGeneratedCode(Class<? extends Annotation> annotationClass,
String targetThing, Element element) {
boolean hasError = false;
TypeElement enclosingElement = (TypeElement) element.getEnclosingElement();
// Verify field or method modifiers.
Set<Modifier> modifiers = element.getModifiers();
if (modifiers.contains(PRIVATE) || modifiers.contains(STATIC)) {
error(element, "@%s %s must not be private or static. (%s.%s)",
annotationClass.getSimpleName(), targetThing, enclosingElement.getQualifiedName(),
element.getSimpleName());
hasError = true;
}
// Verify containing type.
if (enclosingElement.getKind() != CLASS) {
error(enclosingElement, "@%s %s may only be contained in classes. (%s.%s)",
annotationClass.getSimpleName(), targetThing, enclosingElement.getQualifiedName(),
element.getSimpleName());
hasError = true;
}
// Verify containing class visibility is not private.
if (enclosingElement.getModifiers().contains(PRIVATE)) {
error(enclosingElement, "@%s %s may not be contained in private classes. (%s.%s)",
annotationClass.getSimpleName(), targetThing, enclosingElement.getQualifiedName(),
element.getSimpleName());
hasError = true;
}
return hasError;
}
代码示例来源:origin: immutables/immutables
private String computePath(ExecutableElement element) {
String path = element.getSimpleName().toString();
for (Element e = element.getEnclosingElement(); //
e.getKind().isClass() || e.getKind().isInterface(); //
e = e.getEnclosingElement()) {
path = e.getSimpleName() + "." + path;
}
if (element.getModifiers().contains(Modifier.ABSTRACT)) {
return path;
}
return path + "()";
}
代码示例来源:origin: airbnb/epoxy
private ControllerModelField buildFieldInfo(Element modelFieldElement) {
validateFieldAccessibleViaGeneratedCode(modelFieldElement, AutoModel.class, errorLogger);
TypeMirror fieldType = modelFieldElement.asType();
if (fieldType.getKind() != TypeKind.ERROR) {
// If the field is a generated Epoxy model then the class won't have been generated
// yet and it won't have type info. If the type can't be found that we assume it is
// a generated model and is ok.
if (!isEpoxyModel(fieldType)) {
errorLogger.logError("Fields with %s annotations must be of type %s (%s#%s)",
AutoModel.class.getSimpleName(), EPOXY_MODEL_TYPE,
modelFieldElement.getEnclosingElement().getSimpleName(),
modelFieldElement.getSimpleName());
}
}
return new ControllerModelField(modelFieldElement);
}
代码示例来源:origin: immutables/immutables
private void collectIfSimpleType(TypeMirror type, Map<String, TypeMirror> collected) {
if (type.getKind() == TypeKind.DECLARED) {
DeclaredType declared = (DeclaredType) type;
if (declared.getTypeArguments().isEmpty()) {
collected.put(declared.asElement().getSimpleName().toString(), declared);
}
}
}
代码示例来源:origin: remkop/picocli
private void debugElement(Element element, String s) {
logger.finest(format(s + ": kind=%s, cls=%s, simpleName=%s, type=%s, typeKind=%s, enclosed=%s, enclosing=%s",
element.getKind(), element.getClass().getName(), element.getSimpleName(), element.asType(),
element.asType().getKind(), element.getEnclosedElements(), element.getEnclosingElement()));
TypeMirror typeMirror = element.asType();
if (element.getKind() == ENUM) {
for (Element enclosed : element.getEnclosedElements()) {
debugElement(enclosed, s + " ");
}
} else {
debugType(typeMirror, element, s + " ");
}
}
代码示例来源:origin: remkop/picocli
private void debugType(TypeMirror typeMirror, Element element, String indent) {
if (indent.length() > 20) { return; }
if (typeMirror.getKind() == TypeKind.DECLARED) {
DeclaredType declaredType = (DeclaredType) typeMirror;
logger.finest(format("%stype=%s, asElement=%s, (elementKind=%s, elementClass=%s), typeArgs=%s, enclosing=%s",
indent, declaredType,
declaredType.asElement(), declaredType.asElement().getKind(), declaredType.asElement().getClass(),
declaredType.getTypeArguments(),
declaredType.getEnclosingType()));
if (declaredType.asElement().getKind() == ENUM && !element.equals(declaredType.asElement())) {
debugElement(declaredType.asElement(), indent + " --> ");
} else if (typeMirror.getKind() == TypeKind.EXECUTABLE) {
ExecutableType type = (ExecutableType) typeMirror;
logger.finest(format("%stype=%s, typeArgs=%s, paramTypes=%s, returnType=%s",
logger.finest(format("%s%s %s is of kind=%s", indent, typeMirror, element.getSimpleName(), typeMirror.getKind()));
代码示例来源:origin: immutables/immutables
/**
* Determine if inner class could be a builder.
*
* @param possibleBuilderClass nested value element that could be builder class.
* @return true if it's a static inner class.
*/
private static boolean isPossibleBuilderClass(Element possibleBuilderClass, ValueAttribute valueAttribute) {
if (possibleBuilderClass.getKind() == ElementKind.CLASS) {
return possibleBuilderClass.getModifiers().contains(Modifier.STATIC)
&& possibleBuilderClass.getKind() == ElementKind.CLASS
&& valueAttribute.containingType.names().possibleAttributeBuilder(possibleBuilderClass.getSimpleName());
}
return false;
}
代码示例来源:origin: neo4j/neo4j
private Stream<CompilationMessage> validateFieldModifiers( Element recordElement )
{
return fieldsIn( recordElement.getEnclosedElements() ).stream().filter( element ->
{
Set<Modifier> modifiers = element.getModifiers();
return !modifiers.contains( PUBLIC ) && !modifiers.contains( STATIC );
} ).map( element -> new RecordTypeError( element, "Record definition error: field %s#%s must be public",
recordElement.getSimpleName(), element.getSimpleName() ) );
}
代码示例来源:origin: immutables/immutables
/**
* Return true if the possibleBuilderMethod matches the
* Style#attributeBuilder() and returns a class.
*
* TODO: may need to make this return true if the return type is an interface too...
*
* @param possibleBuilderMethod executableElement
*/
private static boolean isPossibleBuilderMethod(Element possibleBuilderMethod, boolean onValueType, ValueAttribute valueAttribute) {
if (possibleBuilderMethod.getKind() == ElementKind.METHOD) {
if (!valueAttribute.containingType.names().possibleAttributeBuilder(possibleBuilderMethod.getSimpleName())) {
return false;
}
ExecutableElement candidateMethod = (ExecutableElement) possibleBuilderMethod;
TypeKind kind = candidateMethod.getReturnType().getKind();
return possibleBuilderMethod.getModifiers().containsAll(
Arrays.asList(Modifier.STATIC, Modifier.PUBLIC))
&& candidateMethod.getParameters().isEmpty()
&& candidateMethod.getReturnType().getKind() == TypeKind.DECLARED
&& !kind.isPrimitive() && kind != TypeKind.ARRAY;
} else if (!onValueType && possibleBuilderMethod.getKind() == ElementKind.CONSTRUCTOR) {
if (!valueAttribute.containingType.names().newTokenInAttributeBuilder()) {
return false;
}
ExecutableElement candidateConstructor = (ExecutableElement) possibleBuilderMethod;
return candidateConstructor.getModifiers().contains(Modifier.PUBLIC)
&& candidateConstructor.getTypeParameters().isEmpty();
}
return false;
}
代码示例来源:origin: airbnb/epoxy
static void validateFieldAccessibleViaGeneratedCode(Element fieldElement,
Class<?> annotationClass, ErrorLogger errorLogger, boolean skipPrivateFieldCheck) {
TypeElement enclosingElement = (TypeElement) fieldElement.getEnclosingElement();
if ((modifiers.contains(PRIVATE) && !skipPrivateFieldCheck) || modifiers.contains(STATIC)) {
errorLogger.logError(
"%s annotations must not be on private or static fields. (class: %s, field: %s)",
annotationClass.getSimpleName(),
enclosingElement.getSimpleName(), fieldElement.getSimpleName());
if (!enclosingElement.getModifiers().contains(STATIC)) {
errorLogger.logError(
"Nested classes with %s annotations must be static. (class: %s, field: %s)",
annotationClass.getSimpleName(),
enclosingElement.getSimpleName(), fieldElement.getSimpleName());
.logError("%s annotations may only be contained in classes. (class: %s, field: %s)",
annotationClass.getSimpleName(),
enclosingElement.getSimpleName(), fieldElement.getSimpleName());
"%s annotations may not be contained in private classes. (class: %s, field: %s)",
annotationClass.getSimpleName(),
enclosingElement.getSimpleName(), fieldElement.getSimpleName());
代码示例来源:origin: immutables/immutables
private static boolean isElegibleAccessorMethod(Element element) {
if (element.getKind() != ElementKind.METHOD) {
return false;
}
if (element.getModifiers().contains(Modifier.STATIC)) {
return false;
}
switch (element.getSimpleName().toString()) {
case HASH_CODE_METHOD:
case TO_STRING_METHOD:
return false;
default:
}
String definitionType = element.getEnclosingElement().toString();
if (definitionType.equals(Object.class.getName())
|| definitionType.equals(Proto.ORDINAL_VALUE_INTERFACE_TYPE)
|| definitionType.equals(Proto.PARCELABLE_INTERFACE_TYPE)) {
return false;
}
return true;
}
代码示例来源:origin: immutables/immutables
Accessor(Element element) {
this.element = element;
this.name = element.getSimpleName().toString();
this.callable = element.getKind() == ElementKind.METHOD;
}
代码示例来源:origin: immutables/immutables
static Element collectClassSegments(Element start, List<String> classSegments) {
Element e = start;
for (; e.getKind() != ElementKind.PACKAGE; e = e.getEnclosingElement()) {
classSegments.add(e.getSimpleName().toString());
}
Collections.reverse(classSegments);
return e;
}
代码示例来源:origin: JakeWharton/butterknife
private void parseResourceBool(Element element,
Map<TypeElement, BindingSet.Builder> builderMap, Set<TypeElement> erasedTargetNames) {
boolean hasError = false;
TypeElement enclosingElement = (TypeElement) element.getEnclosingElement();
// Verify that the target type is bool.
if (element.asType().getKind() != TypeKind.BOOLEAN) {
error(element, "@%s field type must be 'boolean'. (%s.%s)",
BindBool.class.getSimpleName(), enclosingElement.getQualifiedName(),
element.getSimpleName());
hasError = true;
}
// Verify common generated code restrictions.
hasError |= isInaccessibleViaGeneratedCode(BindBool.class, "fields", element);
hasError |= isBindingInWrongPackage(BindBool.class, element);
if (hasError) {
return;
}
// Assemble information on the field.
String name = element.getSimpleName().toString();
int id = element.getAnnotation(BindBool.class).value();
Id resourceId = elementToId(element, BindBool.class, id);
BindingSet.Builder builder = getOrCreateBindingBuilder(builderMap, enclosingElement);
builder.addResource(
new FieldResourceBinding(resourceId, name, FieldResourceBinding.Type.BOOL));
erasedTargetNames.add(enclosingElement);
}
内容来源于网络,如有侵权,请联系作者删除!