public class PaniniModel
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
CAPSULE_CORE_SUFFIX |
static java.lang.String |
CAPSULE_TEST_CORE_SUFFIX |
static java.lang.String |
CAPSULE_TEST_SUFFIX |
static java.lang.String |
DEFAULT_DUCK_PACKAGE |
static java.lang.String |
DEFAULT_FUTURE_PACKAGE |
static java.lang.String |
DEFAULT_MESSAGE_PACKAGE |
static java.lang.String |
SIGNATURE_CORE_SUFFIX |
static java.lang.String[] |
specialPaniniDecls |
| Constructor and Description |
|---|
PaniniModel() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String |
buildExportMethodDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
Inspects the given capsule core, finds the design declaration on it, then returns a
String representation of a `imports()` method declaration.
|
static javax.lang.model.element.ExecutableElement |
getCapsuleDesignDecl(javax.lang.model.element.TypeElement core)
Returns the `ExecutableElement` representing the given capsule core design declaration,
or returns `null` if there is no such declaration.
|
static java.util.List<javax.lang.model.element.VariableElement> |
getCapsuleFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static java.util.List<javax.lang.model.element.VariableElement> |
getImportFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static java.util.List<javax.lang.model.element.VariableElement> |
getLocalFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static java.util.List<javax.lang.model.element.ExecutableElement> |
getProcedures(javax.lang.model.element.TypeElement core)
Returns a list of all of the procedures (represented as `ExcecutableElement`s) defined on the
given `core`.
|
static java.util.List<javax.lang.model.element.VariableElement> |
getStateFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static boolean |
hasCapsuleDesignDecl(javax.lang.model.element.TypeElement core)
Returns `true` if and only if the given capsule core has a design declaration.
|
static boolean |
hasCapsuleFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static boolean |
hasImportFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static boolean |
hasInitDeclaration(javax.lang.model.element.TypeElement core) |
static boolean |
hasLocalFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static boolean |
hasRunDeclaration(javax.lang.model.element.TypeElement core) |
static boolean |
hasStateFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core) |
static boolean |
isActive(javax.lang.model.element.TypeElement core) |
static boolean |
isCapsuleFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem) |
static boolean |
isImportFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem) |
static boolean |
isLocalFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem) |
static boolean |
isPaniniCustom(javax.lang.model.type.TypeMirror returnType) |
static boolean |
isProcedure(javax.lang.model.element.Element elem) |
static boolean |
isRootCapsule(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
A capsule is a "root" capsule if and only if it is active and has no `@Import` fields.
|
static boolean |
isSpecialPaniniDecl(javax.lang.model.element.Element elem) |
static boolean |
isStateFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem) |
static java.lang.String |
qualifiedCapsuleCoreName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
qualifiedCapsuleName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
qualifiedSignatureName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
qualifiedTesterName(javax.lang.model.element.TypeElement tester) |
static java.lang.String |
simpleCapsuleCoreName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
simpleCapsuleName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
simpleSignatureName(javax.lang.model.element.TypeElement core) |
static java.lang.String |
simpleTesterName(javax.lang.model.element.TypeElement tester) |
public static final java.lang.String DEFAULT_MESSAGE_PACKAGE
public static final java.lang.String DEFAULT_FUTURE_PACKAGE
public static final java.lang.String DEFAULT_DUCK_PACKAGE
public static final java.lang.String CAPSULE_CORE_SUFFIX
public static final java.lang.String CAPSULE_TEST_CORE_SUFFIX
public static final java.lang.String CAPSULE_TEST_SUFFIX
public static final java.lang.String SIGNATURE_CORE_SUFFIX
public static final java.lang.String[] specialPaniniDecls
public static boolean isPaniniCustom(javax.lang.model.type.TypeMirror returnType)
public static boolean isProcedure(javax.lang.model.element.Element elem)
public static boolean isSpecialPaniniDecl(javax.lang.model.element.Element elem)
public static boolean isActive(javax.lang.model.element.TypeElement core)
public static boolean hasRunDeclaration(javax.lang.model.element.TypeElement core)
public static boolean hasInitDeclaration(javax.lang.model.element.TypeElement core)
public static java.lang.String simpleCapsuleCoreName(javax.lang.model.element.TypeElement core)
public static java.lang.String qualifiedCapsuleCoreName(javax.lang.model.element.TypeElement core)
public static java.lang.String simpleCapsuleName(javax.lang.model.element.TypeElement core)
public static java.lang.String qualifiedCapsuleName(javax.lang.model.element.TypeElement core)
public static java.lang.String simpleSignatureName(javax.lang.model.element.TypeElement core)
public static java.lang.String qualifiedSignatureName(javax.lang.model.element.TypeElement core)
public static java.lang.String simpleTesterName(javax.lang.model.element.TypeElement tester)
public static java.lang.String qualifiedTesterName(javax.lang.model.element.TypeElement tester)
public static boolean isCapsuleFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem)
public static boolean hasCapsuleFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static java.util.List<javax.lang.model.element.VariableElement> getCapsuleFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static boolean isLocalFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem)
public static boolean hasLocalFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static java.util.List<javax.lang.model.element.VariableElement> getLocalFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static boolean isImportFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem)
public static boolean hasImportFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static java.util.List<javax.lang.model.element.VariableElement> getImportFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static boolean isStateFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.Element elem)
public static boolean hasStateFieldDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static java.util.List<javax.lang.model.element.VariableElement> getStateFieldDecls(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static boolean isRootCapsule(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
public static boolean hasCapsuleDesignDecl(javax.lang.model.element.TypeElement core)
public static javax.lang.model.element.ExecutableElement getCapsuleDesignDecl(javax.lang.model.element.TypeElement core)
public static java.util.List<javax.lang.model.element.ExecutableElement> getProcedures(javax.lang.model.element.TypeElement core)
public static java.lang.String buildExportMethodDecl(javax.annotation.processing.ProcessingEnvironment context,
javax.lang.model.element.TypeElement core)
For example, if a user-defined capsule core has the form
@Capsule
public class BazCore {
@Import Foo foo;
@Import Bar bar;
// ...
}
where `foo` and `bar` are the only `@Import`-annotated fields on the core, then this method would return the `String`
public void imports(Foo foo, Bar bar)
Note: If the `core` has no `@Import` capsules, then this method returns `null`.