Polishing

This commit is contained in:
Juergen Hoeller
2017-10-25 19:23:48 +02:00
parent f965123513
commit 7e8c8f0b76
3 changed files with 16 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2014 the original author or authors.
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -63,19 +63,18 @@ public interface ClassMetadata {
boolean isFinal();
/**
* Determine whether the underlying class is independent,
* i.e. whether it is a top-level class or a nested class
* (static inner class) that can be constructed independent
* from an enclosing class.
* Determine whether the underlying class is independent, i.e. whether
* it is a top-level class or a nested class (static inner class) that
* can be constructed independently from an enclosing class.
*/
boolean isIndependent();
/**
* Return whether the underlying class has an enclosing class
* (i.e. the underlying class is an inner/nested class or
* a local class within a method).
* <p>If this method returns {@code false}, then the
* underlying class is a top-level class.
* Return whether the underlying class is declared within an enclosing
* class (i.e. the underlying class is an inner/nested class or a
* local class within a method).
* <p>If this method returns {@code false}, then the underlying
* class is a top-level class.
*/
boolean hasEnclosingClass();

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2016 the original author or authors.
* Copyright 2002-2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -21,6 +21,7 @@ import java.util.LinkedHashSet;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
/**
* {@link ClassMetadata} implementation that uses standard reflection
@@ -124,11 +125,11 @@ public class StandardClassMetadata implements ClassMetadata {
@Override
public String[] getMemberClassNames() {
LinkedHashSet<String> memberClassNames = new LinkedHashSet<>();
LinkedHashSet<String> memberClassNames = new LinkedHashSet<>(4);
for (Class<?> nestedClass : this.introspectedClass.getDeclaredClasses()) {
memberClassNames.add(nestedClass.getName());
}
return memberClassNames.toArray(new String[memberClassNames.size()]);
return StringUtils.toStringArray(memberClassNames);
}
}

View File

@@ -29,6 +29,7 @@ import org.springframework.asm.SpringAsmInfo;
import org.springframework.core.type.ClassMetadata;
import org.springframework.lang.Nullable;
import org.springframework.util.ClassUtils;
import org.springframework.util.StringUtils;
/**
* ASM class visitor which looks only for the class name and implemented types,
@@ -64,7 +65,7 @@ class ClassMetadataReadingVisitor extends ClassVisitor implements ClassMetadata
private String[] interfaces = new String[0];
private Set<String> memberClassNames = new LinkedHashSet<>();
private Set<String> memberClassNames = new LinkedHashSet<>(4);
public ClassMetadataReadingVisitor() {
@@ -208,7 +209,7 @@ class ClassMetadataReadingVisitor extends ClassVisitor implements ClassMetadata
@Override
public String[] getMemberClassNames() {
return this.memberClassNames.toArray(new String[this.memberClassNames.size()]);
return StringUtils.toStringArray(this.memberClassNames);
}