@API(status=STABLE,
since="1.0")
public class ClassSource
extends java.lang.Object
implements TestSource
TestSource with
an optional file position.
If a Java Class reference is provided, the ClassSource
will contain that Class and its class name accordingly. If a class
name is provided, the ClassSource will contain the class name and
will only attempt to lazily load the Class if getJavaClass()
is invoked.
In this context, Java Class means anything that can be referenced
as a Class on the JVM — for example, classes from other JVM
languages such Groovy, Scala, etc.
ClassSelector,
Serialized Form| Modifier and Type | Field and Description |
|---|---|
private java.lang.String |
className |
private FilePosition |
filePosition |
private java.lang.Class<?> |
javaClass |
private static long |
serialVersionUID |
| Modifier | Constructor and Description |
|---|---|
private |
ClassSource(java.lang.Class<?> javaClass) |
private |
ClassSource(java.lang.Class<?> javaClass,
FilePosition filePosition) |
private |
ClassSource(java.lang.String className) |
private |
ClassSource(java.lang.String className,
FilePosition filePosition) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(java.lang.Object o) |
static ClassSource |
from(java.lang.Class<?> javaClass)
Create a new
ClassSource using the supplied class. |
static ClassSource |
from(java.lang.Class<?> javaClass,
FilePosition filePosition)
Create a new
ClassSource using the supplied class
and file position. |
static ClassSource |
from(java.lang.String className)
Create a new
ClassSource using the supplied class name. |
static ClassSource |
from(java.lang.String className,
FilePosition filePosition)
Create a new
ClassSource using the supplied class name and
file position. |
java.lang.String |
getClassName()
Get the class name of this source.
|
java.lang.Class<?> |
getJavaClass()
Get the Java class of this source.
|
java.util.Optional<FilePosition> |
getPosition()
|
int |
hashCode() |
java.lang.String |
toString() |
private static final long serialVersionUID
private final java.lang.String className
private final FilePosition filePosition
private java.lang.Class<?> javaClass
private ClassSource(java.lang.String className)
private ClassSource(java.lang.String className,
FilePosition filePosition)
private ClassSource(java.lang.Class<?> javaClass)
private ClassSource(java.lang.Class<?> javaClass,
FilePosition filePosition)
public static ClassSource from(java.lang.String className)
ClassSource using the supplied class name.className - the class name; must not be null or blankpublic static ClassSource from(java.lang.String className, FilePosition filePosition)
ClassSource using the supplied class name and
file position.className - the class name; must not be null or blankfilePosition - the position in the source file; may be nullpublic static ClassSource from(java.lang.Class<?> javaClass)
ClassSource using the supplied class.javaClass - the Java class; must not be nullpublic static ClassSource from(java.lang.Class<?> javaClass, FilePosition filePosition)
ClassSource using the supplied class
and file position.javaClass - the Java class; must not be nullfilePosition - the position in the Java source file; may be nullpublic final java.lang.String getClassName()
getJavaClass(),
getPosition()public final java.lang.Class<?> getJavaClass()
If the Class was not provided, but only the name, this method
attempts to lazily load the Class based on its name and throws a
PreconditionViolationException if the class cannot be loaded.
getClassName(),
getPosition()public final java.util.Optional<FilePosition> getPosition()
getClassName(),
getJavaClass()public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object