@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 |
|---|---|
java.lang.String |
fileExtension
Deprecated.
A file extension name e.g.,
"json", handled by the Type Manifold class defining the domain of types to compile. |
java.lang.Class<?> |
typeManifold
Deprecated.
The Type Manifold class defining the domain of types to compile from.
|
java.lang.String |
typeNames
Deprecated.
A regular expression defining the range of types that should be compiled from
typeManifold() or
fileExtension() via ITypeManifold#getAllTypeNames(). |
public abstract java.lang.Class<?> typeManifold
fileExtension() as a convenient alternative way to specify the type manifold via a file extension
it handles.public abstract java.lang.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 java.lang.String typeNames
typeManifold() or
fileExtension() via ITypeManifold#getAllTypeNames(). The default value ".*" compiles
all types originating from the specified type manifold.Copyright © 2023. All rights reserved.