@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 FormModifier 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 null
public static ClassSource from(java.lang.Class<?> javaClass)
ClassSource
using the supplied class.javaClass
- the Java class; must not be null
public static ClassSource from(java.lang.Class<?> javaClass, FilePosition filePosition)
ClassSource
using the supplied class
and file position.javaClass
- the Java class; must not be null
filePosition
- the position in the Java source file; may be null
public 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.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object