@CompileStatic @GroovyASTTransformation(phase: CompilePhase.CANONICALIZATION) class RxScheduleIOTransformation extends AbstractMethodDecoratingTransformation
A transformation that will convert a blocking GORM operation into an Observable that runs on the RxJava rx.schedulers.Schedulers#io() scheduler
| Modifiers | Name | Description |
|---|---|---|
static AnnotationNode |
ANNOTATION |
|
static ClassNode |
ANNOTATION_TYPE |
|
static java.lang.String |
ANN_SCHEDULER |
|
static java.lang.String |
ANN_SINGLE_RESULT |
|
static java.lang.String |
RENAMED_METHOD_PREFIX |
|
static java.lang.String |
WRAPPED_RETURN_TYPE |
Node metadata key used to stash the original (Rx-wrapped, e.g. |
| Fields inherited from class | Fields |
|---|---|
class AbstractMethodDecoratingTransformation |
DECORATED_METHODS |
| Properties inherited from class | Properties |
|---|---|
class AbstractGormASTTransformation |
compilationUnit |
| Constructor and description |
|---|
RxScheduleIOTransformation() |
| Type Params | Return Type | Name and description |
|---|---|---|
|
protected void |
alignReturnType(MethodNode newMethod, ClassNode newReturnType) |
|
protected MethodCallExpression |
buildDelegatingMethodCall(SourceUnit sourceUnit, AnnotationNode annotationNode, ClassNode classNode, MethodNode methodNode, MethodCallExpression originalMethodCallExpr, BlockStatement newMethodBody) |
|
protected Statement |
createDelegingMethodBody(Parameter[] parameters, MethodCallExpression originalMethodCall) |
|
protected ClassNode |
getAnnotationType() |
|
protected java.lang.Object |
getAppliedMarker() |
|
protected java.lang.String |
getRenamedMethodPrefix() |
|
int |
priority() |
|
protected ClassNode |
resolveReturnTypeForNewMethod(MethodNode methodNode) |
|
protected MethodNode |
weaveNewMethod(SourceUnit sourceUnit, AnnotationNode annotationNode, ClassNode classNode, MethodNode methodNode, java.util.Map<java.lang.String, ClassNode> genericsSpec) |
Node metadata key used to stash the original (Rx-wrapped, e.g. Single<Number>) return type of a
method while it is temporarily narrowed to its unwrapped synchronous type (e.g. Number) so that
decorators applied by the underlying implementer (such as the automatic @Transactional wrapping)
build their delegating call against the type the synchronous body actually returns, rather than the
Rx-wrapped type the public method exposes. See SingleResultAdapter / ObservableResultAdapter.