Class ClassSource
- All Implemented Interfaces:
Serializable
,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.
- Since:
- 1.0
- See Also:
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
static ClassSource
Create a newClassSource
using the supplied class.static ClassSource
from
(Class<?> javaClass, FilePosition filePosition) static ClassSource
Create a newClassSource
using the supplied class name.static ClassSource
from
(String className, FilePosition filePosition) Create a newClassSource
using the supplied class name and file position.static ClassSource
Create a newClassSource
from the suppliedURI
.final String
Get the class name of this source.final Class<?>
Get the Java class of this source.final Optional<FilePosition>
int
hashCode()
toString()
-
Field Details
-
CLASS_SCHEME
- Since:
- 1.8
- See Also:
-
-
Method Details
-
from
Create a newClassSource
using the supplied class name.- Parameters:
className
- the class name; must not benull
or blank
-
from
Create a newClassSource
using the supplied class name and file position.- Parameters:
className
- the class name; must not benull
or blankfilePosition
- the position in the source file; may benull
-
from
Create a newClassSource
using the supplied class.- Parameters:
javaClass
- the Java class; must not benull
-
from
- Parameters:
javaClass
- the Java class; must not benull
filePosition
- the position in the Java source file; may benull
-
from
Create a newClassSource
from the suppliedURI
.URIs should be formatted as
class:fully.qualified.class.Name
. The query component of theURI
, if present, will be used to retrieve theFilePosition
viaFilePosition.fromQuery(String)
. For example, line 42 and column 13 can be referenced in classorg.example.MyType
via the following URI:class:com.example.MyType?line=42&column=13
. The URI fragment, if present, will be ignored.- Parameters:
uri
- theURI
for the class source; nevernull
- Returns:
- a new
ClassSource
; nevernull
- Throws:
PreconditionViolationException
- if the suppliedURI
isnull
, if the scheme of the suppliedURI
is not equal to theCLASS_SCHEME
, or if the specified class name is empty- Since:
- 1.8
- See Also:
-
getClassName
Get the class name of this source.- See Also:
-
getJavaClass
Get the Java class of this source.If the
Class
was not provided, but only the name, this method attempts to lazily load theClass
based on its name and throws aPreconditionViolationException
if the class cannot be loaded.- See Also:
-
getPosition
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-