@Retention(value=SOURCE) @Repeatable(value=Precompiles.class) @Deprecated public @interface Precompile
@Precompile
to instruct Manifold to precompile classes from a specified type manifold.
This is useful for cases where a type manifold produces a static API for others to use. Note you
maybe provide more than one instance of @Precompile
to precompile types from more than one
type manifold:
@Precompile(fileExtension = "json")
@Precompile(fileExtension = "yml")
This instructs the Java compiler to precompile all JSON
and YAML
in the enclosing module.
The default behavior:
@Precompile()
compiles all types from all type manifolds used in the module.Modifier and Type | Optional Element and Description |
---|---|
String |
fileExtension
Deprecated.
A file extension name e.g.,
"json" , handled by the Type Manifold class defining the domain of types to compile. |
Class<?> |
typeManifold
Deprecated.
The Type Manifold class defining the domain of types to compile from.
|
String |
typeNames
Deprecated.
A regular expression defining the range of types that should be compiled from
typeManifold() or
fileExtension() via ITypeManifold#getAllTypeNames() . |
public abstract Class<?> typeManifold
fileExtension()
as a convenient alternative way to specify the type manifold via a file extension
it handles.public abstract String fileExtension
"json"
, handled by the Type Manifold class defining the domain of types to compile.
This value is an alternative to typeManifold()
as a simple way to indirectly specify the ITypeManifold
.
If both arguments are present, typeManifold()
has precedence.
The default wildcard value "*"
precompiles types from all type manifolds used in the modulepublic abstract String typeNames
typeManifold()
or
fileExtension()
via ITypeManifold#getAllTypeNames()
. The default value ".*"
compiles
all types originating from the specified type manifold.Copyright © 2024. All rights reserved.