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
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic ClassSourceCreate a newClassSourceusing the supplied class.static ClassSourcefrom(Class<?> javaClass, FilePosition filePosition) static ClassSourceCreate a newClassSourceusing the supplied class name.static ClassSourcefrom(String className, FilePosition filePosition) Create a newClassSourceusing the supplied class name and file position.static ClassSourceCreate a newClassSourcefrom the suppliedURI.final StringGet the class name of this source.final Class<?>Get the Java class of this source.final Optional<FilePosition>inthashCode()toString()
-
Field Details
-
CLASS_SCHEME
- Since:
- 1.8
- See Also:
-
-
Method Details
-
from
Create a newClassSourceusing the supplied class name.- Parameters:
className- the class name; must not benullor blank
-
from
Create a newClassSourceusing the supplied class name and file position.- Parameters:
className- the class name; must not benullor blankfilePosition- the position in the source file; may benull
-
from
Create a newClassSourceusing the supplied class.- Parameters:
javaClass- the Java class; must not benull
-
from
- Parameters:
javaClass- the Java class; must not benullfilePosition- the position in the Java source file; may benull
-
from
Create a newClassSourcefrom the suppliedURI.URIs should be formatted as
class:fully.qualified.class.Name. The query component of theURI, if present, will be used to retrieve theFilePositionviaFilePosition.fromQuery(String). For example, line 42 and column 13 can be referenced in classorg.example.MyTypevia the following URI:class:com.example.MyType?line=42&column=13. The URI fragment, if present, will be ignored.- Parameters:
uri- theURIfor the class source; nevernull- Returns:
- a new
ClassSource; nevernull - Throws:
PreconditionViolationException- if the suppliedURIisnull, if the scheme of the suppliedURIis 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
Classwas not provided, but only the name, this method attempts to lazily load theClassbased on its name and throws aPreconditionViolationExceptionif the class cannot be loaded.- See Also:
-
getPosition
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-