Showing preview only (1,323K chars total). Download the full file or copy to clipboard to get everything.
Repository: baidu/Rubik
Branch: main
Commit: 065ba8f4652b
Files: 794
Total size: 1.0 MB
Directory structure:
gitextract_e_w543jg/
├── LICENSE
├── README.md
├── README_en.md
├── build.gradle
├── demo/
│ ├── demo_component_detail/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── mars/
│ │ │ └── component/
│ │ │ └── detail/
│ │ │ ├── api/
│ │ │ │ ├── AipsInCompanion.kt
│ │ │ │ ├── AipsInTop.kt
│ │ │ │ ├── ApiSerialization.kt
│ │ │ │ ├── Apis.kt
│ │ │ │ ├── ApisAsyncReturn.kt
│ │ │ │ ├── ApisBadCase.kt
│ │ │ │ ├── ApisBigData.kt
│ │ │ │ ├── ApisExt.kt
│ │ │ │ ├── ApisProvideInstance.kt
│ │ │ │ ├── ApisWithLiveData.kt
│ │ │ │ └── ApisWithResultReceiver.kt
│ │ │ ├── callback/
│ │ │ │ ├── CallbackTestDefault.kt
│ │ │ │ └── CallbackTestInterface.kt
│ │ │ ├── event/
│ │ │ │ └── Events.kt
│ │ │ ├── objekt/
│ │ │ │ ├── ObjectTest.kt
│ │ │ │ └── ObjectTestCteate.kt
│ │ │ ├── test/
│ │ │ │ ├── TestDataTypeTask.kt
│ │ │ │ ├── TestDefaultPathTask.kt
│ │ │ │ └── TestGenericityTask.kt
│ │ │ ├── ui/
│ │ │ │ ├── FirstPageActivity.kt
│ │ │ │ ├── FirstPageFragment.kt
│ │ │ │ └── SecondPageActivity.kt
│ │ │ └── value/
│ │ │ ├── TestCompanionBean.kt
│ │ │ ├── TestCreateBean.kt
│ │ │ ├── TestDataBean.kt
│ │ │ ├── TestDataNotRValueBean.kt
│ │ │ ├── TestListBean.kt
│ │ │ ├── TestNullableBean.kt
│ │ │ ├── TestOriginalBean.kt
│ │ │ ├── TestParcelizeBean.kt
│ │ │ ├── TestSerializableBean.kt
│ │ │ └── mapping/
│ │ │ ├── TestDataMappingBean.kt
│ │ │ └── TestNestDataMappingBean.kt
│ │ ├── ra/
│ │ │ └── rubik/
│ │ │ └── generate/
│ │ │ └── aggregate/
│ │ │ └── demo_com_mars_rubik_test_detail/
│ │ │ └── DetailAggregate.kt
│ │ └── res/
│ │ ├── layout/
│ │ │ └── activity_a1.xml
│ │ └── values/
│ │ └── strings.xml
│ ├── demo_component_detail_java/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── aggregate/
│ │ │ └── rubik/
│ │ │ └── generate/
│ │ │ └── aggregate/
│ │ │ └── demo_com_mars_rubik_test_detail_java/
│ │ │ └── DetailJavaAggregate.kt
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── mars/
│ │ │ └── component/
│ │ │ └── detail/
│ │ │ └── java/
│ │ │ ├── api/
│ │ │ │ ├── Apis.java
│ │ │ │ ├── ApisAsyncReturn.java
│ │ │ │ ├── ApisForInstance.java
│ │ │ │ ├── BaseApis.java
│ │ │ │ └── callback/
│ │ │ │ ├── Callback.java
│ │ │ │ └── Callbackable.java
│ │ │ ├── test/
│ │ │ │ └── TestJavaDataType.java
│ │ │ ├── ui/
│ │ │ │ ├── FirstPageActivity.java
│ │ │ │ └── SecondActivity.java
│ │ │ └── value/
│ │ │ └── TestJavaBean.java
│ │ └── res/
│ │ ├── layout/
│ │ │ └── activity_d1.xml
│ │ └── values/
│ │ └── strings.xml
│ ├── demo_component_home/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── aggregate/
│ │ │ └── rubik/
│ │ │ └── generate/
│ │ │ └── aggregate/
│ │ │ └── demo_com_mars_rubik_test_home/
│ │ │ └── HomeAggregate.kt
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── mars/
│ │ │ └── component/
│ │ │ └── home/
│ │ │ ├── api/
│ │ │ │ └── TestOne.kt
│ │ │ ├── event/
│ │ │ │ └── Events.kt
│ │ │ ├── test/
│ │ │ │ ├── java/
│ │ │ │ │ ├── TestJavaInvokeBuilderTask.java
│ │ │ │ │ ├── TestJavaInvokeFunctionTask.java
│ │ │ │ │ └── TestJavaInvokeJavaFunctionTask.java
│ │ │ │ └── kotlin/
│ │ │ │ ├── TestBigData.kt
│ │ │ │ ├── TestDataType.kt
│ │ │ │ ├── TestKotlinInvokeActionFunctionJavaTask.kt
│ │ │ │ ├── TestKotlinInvokeActionFunctionTask.kt
│ │ │ │ ├── TestKotlinInvokeDSLTask.kt
│ │ │ │ └── TestKotlinInvokeRouteFunctionTask.kt
│ │ │ └── ui/
│ │ │ ├── HomeActivity.kt
│ │ │ ├── HomeFragment.kt
│ │ │ └── java/
│ │ │ └── JavaHomeActivity.java
│ │ └── res/
│ │ ├── layout/
│ │ │ ├── activity_java.xml
│ │ │ ├── activity_kotlin.xml
│ │ │ └── fragment_b1.xml
│ │ └── values/
│ │ └── strings.xml
│ ├── demo_root_app/
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── mars/
│ │ │ └── component/
│ │ │ └── test/
│ │ │ └── RouterTestCase.kt
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── baidu/
│ │ │ └── kcomponent/
│ │ │ ├── MainActivity.kt
│ │ │ └── MainApplication.kt
│ │ └── res/
│ │ ├── drawable/
│ │ │ └── ic_launcher_background.xml
│ │ ├── drawable-v24/
│ │ │ └── ic_launcher_foreground.xml
│ │ ├── layout/
│ │ │ └── activity_main.xml
│ │ ├── mipmap-anydpi-v26/
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ └── values/
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── demo_until_library_a/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── com/
│ │ └── mars/
│ │ └── util_library/
│ │ ├── TestClassA.kt
│ │ └── TestLibDataBean.kt
│ ├── demo_until_library_b/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── mars/
│ │ │ └── util_library/
│ │ │ └── TestClassB.kt
│ │ └── testex/
│ │ └── java/
│ │ └── com/
│ │ └── x/
│ │ ├── Xx.kt
│ │ └── Yx.java
│ ├── demo_until_library_c_java/
│ │ ├── build.gradle
│ │ ├── consumer-rules.pro
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ └── main/
│ │ ├── AndroidManifest.xml
│ │ └── java/
│ │ └── TestClassC.kt
│ ├── rubik-components.gradle
│ └── rubik-packing.gradle
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── rubik/
│ ├── rubik_annotations/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── com/
│ │ └── rubik/
│ │ └── annotations/
│ │ ├── context/
│ │ │ ├── REvent.java
│ │ │ ├── REventRepeatable.java
│ │ │ ├── assist/
│ │ │ │ ├── REventAssist.java
│ │ │ │ └── REventAssistRepeatable.java
│ │ │ └── instance/
│ │ │ ├── REventInstance.java
│ │ │ └── REventInstanceRepeatable.java
│ │ ├── route/
│ │ │ ├── RCallback.java
│ │ │ ├── RExtend.java
│ │ │ ├── RInstance.java
│ │ │ ├── RInstanceRepeatable.java
│ │ │ ├── RObject.java
│ │ │ ├── RProperty.java
│ │ │ ├── RResult.java
│ │ │ ├── RRoute.java
│ │ │ ├── RRouteRepeatable.java
│ │ │ ├── RValue.java
│ │ │ ├── assist/
│ │ │ │ ├── RRouteAssist.java
│ │ │ │ └── RRouteAssistRepeatable.java
│ │ │ ├── function/
│ │ │ │ ├── RDefaultType.java
│ │ │ │ ├── RFunction.java
│ │ │ │ └── RFunctionRepeatable.java
│ │ │ ├── instance/
│ │ │ │ ├── RRouteInstance.java
│ │ │ │ └── RRouteInstanceRepeatable.java
│ │ │ └── page/
│ │ │ ├── RPage.java
│ │ │ └── RPageRepeatable.java
│ │ └── source/
│ │ ├── RAggregate.java
│ │ ├── RComponent.java
│ │ ├── RContext.java
│ │ ├── RContextLib.java
│ │ ├── RGenerated.java
│ │ ├── RGeneratedRouter.java
│ │ ├── RGeneratedValue.java
│ │ └── ROriginalValue.java
│ ├── rubik_context/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── com/
│ │ └── rubik/
│ │ ├── context/
│ │ │ ├── Dependency.kt
│ │ │ ├── Ext.kt
│ │ │ ├── MavenSource.kt
│ │ │ ├── Source.kt
│ │ │ ├── container/
│ │ │ │ └── ContextsContainer.kt
│ │ │ ├── exception/
│ │ │ │ ├── RubikComponentUndefinedException.kt
│ │ │ │ ├── RubikDSLDefaultGroupNotSetException.kt
│ │ │ │ ├── RubikDSLDefaultSchemeNotSetException.kt
│ │ │ │ ├── RubikMultipleComponentDefinedException.kt
│ │ │ │ └── RubikPluginNotApplyException.kt
│ │ │ ├── extra/
│ │ │ │ ├── Context.kt
│ │ │ │ ├── Injector.kt
│ │ │ │ └── Rubik.kt
│ │ │ ├── folder/
│ │ │ │ ├── ClassesTmpDir.kt
│ │ │ │ ├── GeneratedSourceDir.kt
│ │ │ │ └── LibsTmpDir.kt
│ │ │ ├── id/
│ │ │ │ ├── ContextIdHolder.kt
│ │ │ │ └── LeastContext.kt
│ │ │ ├── log/
│ │ │ │ └── LogTags.kt
│ │ │ ├── publication/
│ │ │ │ ├── BuildType.kt
│ │ │ │ └── LibType.kt
│ │ │ ├── router/
│ │ │ │ └── RouterRegister.kt
│ │ │ └── utility/
│ │ │ ├── KApt.kt
│ │ │ ├── Module.kt
│ │ │ └── Uri.kt
│ │ └── global/
│ │ └── GlobalConfig.kt
│ ├── rubik_dsl/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── com/
│ │ └── rubik/
│ │ └── dsl/
│ │ ├── DSLRubik.kt
│ │ ├── RDSL.java
│ │ ├── context/
│ │ │ ├── DSLContext.kt
│ │ │ ├── dependency/
│ │ │ │ ├── DSLDependencies.kt
│ │ │ │ └── DSLDependency.kt
│ │ │ └── source/
│ │ │ ├── DSLMavenSource.kt
│ │ │ ├── DSLProjectSource.kt
│ │ │ └── DSLSource.kt
│ │ ├── exception/
│ │ │ └── RubikDSLComponentUriException.kt
│ │ ├── global/
│ │ │ ├── DSLGlobalConfig.kt
│ │ │ ├── DSLGlobalContextConfig.kt
│ │ │ └── DSLGlobalMavenConfig.kt
│ │ └── packing/
│ │ ├── DSLExcept.kt
│ │ ├── DSLPacking.kt
│ │ ├── DSLPackingHow.kt
│ │ └── DSLPackingNoSource.kt
│ ├── rubik_kapt/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ ├── ByVersion.kt
│ │ └── com/
│ │ └── rubik/
│ │ └── apt/
│ │ ├── Constants.kt
│ │ ├── RContextProcessService.java
│ │ ├── RContextProcessor.kt
│ │ ├── annotation/
│ │ │ ├── AnnotationData.kt
│ │ │ ├── Callback.kt
│ │ │ ├── CodebaseObtainer.kt
│ │ │ ├── Event.kt
│ │ │ ├── EventInstance.kt
│ │ │ ├── Object.kt
│ │ │ ├── Route.kt
│ │ │ ├── RouteInstance.kt
│ │ │ └── Value.kt
│ │ ├── codebase/
│ │ │ ├── AnnotationCodeBase.kt
│ │ │ ├── ClassMirrorable.kt
│ │ │ ├── RToken.kt
│ │ │ ├── RouteCodeBase.kt
│ │ │ ├── activity/
│ │ │ │ ├── ActivityCodeBase.kt
│ │ │ │ └── ActivityPropertyCodeBase.kt
│ │ │ ├── api/
│ │ │ │ ├── ApiCodeBase.kt
│ │ │ │ ├── ApiInstanceCodeBase.kt
│ │ │ │ ├── QueryCodeBase.kt
│ │ │ │ └── ResultCodeBase.kt
│ │ │ ├── callback/
│ │ │ │ ├── FunctionCallbackCodeBase.kt
│ │ │ │ └── ObjectCallbackCodeBase.kt
│ │ │ ├── context/
│ │ │ │ ├── ContextCodeBase.kt
│ │ │ │ └── SectionCodeBase.kt
│ │ │ ├── event/
│ │ │ │ ├── EventCodeBase.kt
│ │ │ │ └── EventInstanceCodeBase.kt
│ │ │ ├── invoker/
│ │ │ │ ├── Callbackable.kt
│ │ │ │ ├── Instanceable.kt
│ │ │ │ ├── InvokeContextCodeBase.kt
│ │ │ │ ├── InvokeFunctionCodeBase.kt
│ │ │ │ ├── InvokeOriginalCodeBase.kt
│ │ │ │ ├── LambdaTypeCodeBase.kt
│ │ │ │ ├── OriginalInvokable.kt
│ │ │ │ └── TypeCodeBase.kt
│ │ │ ├── objekt/
│ │ │ │ └── ObjectCodeBase.kt
│ │ │ └── value/
│ │ │ ├── ValueCodeBase.kt
│ │ │ └── ValueFieldCodeBase.kt
│ │ ├── declare/
│ │ │ └── LeastContext.kt
│ │ ├── files/
│ │ │ └── source/
│ │ │ ├── AggregateSourceFile.kt
│ │ │ ├── ContextSourceFiles.kt
│ │ │ ├── aggregate/
│ │ │ │ ├── CallbackTransformCode.kt
│ │ │ │ ├── FactoryCode.kt
│ │ │ │ ├── InvokeOriginalCode.kt
│ │ │ │ ├── MappingType.kt
│ │ │ │ ├── OnEventCode.kt
│ │ │ │ ├── OnRouteCode.kt
│ │ │ │ ├── QueryCode.kt
│ │ │ │ └── RouteActionsImplCode.kt
│ │ │ ├── context/
│ │ │ │ ├── TouchCode.kt
│ │ │ │ ├── action/
│ │ │ │ │ ├── ApiRouteActionFunctionCode.kt
│ │ │ │ │ └── inceface/
│ │ │ │ │ ├── RouteActionFunctionCode.kt
│ │ │ │ │ └── RouteActionsSourceFile.kt
│ │ │ │ └── dsl/
│ │ │ │ ├── ActivityDSLFuntionCode.kt
│ │ │ │ ├── ApiDSLFunctionCode.kt
│ │ │ │ └── DSLRouteContextSourceFiles.kt
│ │ │ ├── identity/
│ │ │ │ └── IdentitySourceFile.kt
│ │ │ └── mirror/
│ │ │ ├── callback/
│ │ │ │ └── CallbackSourceFiles.kt
│ │ │ ├── objekt/
│ │ │ │ └── ObjectSourceFiles.kt
│ │ │ └── value/
│ │ │ ├── ValueCode.kt
│ │ │ └── ValueSourceFiles.kt
│ │ ├── namebox/
│ │ │ ├── FileNameBox.kt
│ │ │ └── MappingMatrix.kt
│ │ ├── plugin/
│ │ │ ├── Arguments.kt
│ │ │ └── PluginArguments.kt
│ │ └── utility/
│ │ ├── Code.kt
│ │ ├── Element.kt
│ │ ├── FilePath.kt
│ │ ├── KotlinPoet.kt
│ │ └── RType.kt
│ ├── rubik_maven_repositories.gradle
│ ├── rubik_picker/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ └── java/
│ │ └── com/
│ │ └── rubik/
│ │ ├── pick/
│ │ │ ├── Excepted.kt
│ │ │ ├── PickHow.kt
│ │ │ ├── PickWhat.kt
│ │ │ └── PickWhere.kt
│ │ └── picker/
│ │ ├── ContextPickHow.kt
│ │ ├── ContextPicker.kt
│ │ ├── MavenPicker.kt
│ │ ├── PickCase.kt
│ │ ├── Picker.kt
│ │ ├── ProjectPicker.kt
│ │ ├── TmpDirLibPicker.kt
│ │ ├── container/
│ │ │ ├── ContextPickHowContainer.kt
│ │ │ └── PickedContextsContainer.kt
│ │ ├── exception/
│ │ │ ├── RubikMavenDependencyVersionNotSetException.kt
│ │ │ ├── RubikMavenVariantNotSetException.kt
│ │ │ ├── RubikMavenVersionNotSetException.kt
│ │ │ ├── RubikProjectNotFoundException.kt
│ │ │ ├── RubikProjectPathNotSetException.kt
│ │ │ └── RubikPublicationTypeNotConfigureException.kt
│ │ ├── extra/
│ │ │ ├── Context.kt
│ │ │ └── Injector.kt
│ │ └── log/
│ │ └── LogTags.kt
│ ├── rubik_plugins/
│ │ ├── build.gradle
│ │ └── src/
│ │ └── main/
│ │ ├── java/
│ │ │ ├── ByVersion.kt
│ │ │ └── com/
│ │ │ └── rubik/
│ │ │ └── plugins/
│ │ │ ├── MainPlugin.kt
│ │ │ ├── RubikPlugin.kt
│ │ │ ├── analyst/
│ │ │ │ └── AnalystPlugin.kt
│ │ │ ├── basic/
│ │ │ │ ├── Constants.kt
│ │ │ │ ├── LogTags.kt
│ │ │ │ ├── exception/
│ │ │ │ │ ├── RubikException.kt
│ │ │ │ │ ├── RubikKaptDependencyNotSetException.kt
│ │ │ │ │ ├── RubikNotCalculatePublicationException.kt
│ │ │ │ │ ├── RubikPackingNotSupportException.kt
│ │ │ │ │ ├── RubikProjectNoKotlinAndroidPluginException.kt
│ │ │ │ │ ├── RubikRouterAndContextVersionsNotMatchException.kt
│ │ │ │ │ └── RubikRouterDependencyNotSetException.kt
│ │ │ │ ├── extra/
│ │ │ │ │ └── Rubik.kt
│ │ │ │ ├── transform/
│ │ │ │ │ ├── MakeLibsTransform.kt
│ │ │ │ │ └── RubikTransform.kt
│ │ │ │ └── utility/
│ │ │ │ ├── Code.kt
│ │ │ │ ├── Javassist.kt
│ │ │ │ └── KotlinPoet.kt
│ │ │ ├── context/
│ │ │ │ ├── ContextPlugin.kt
│ │ │ │ ├── controller/
│ │ │ │ │ ├── AllContextController.kt
│ │ │ │ │ ├── ComponentIdGeneratingController.kt
│ │ │ │ │ ├── ContextKaptController.kt
│ │ │ │ │ └── ProjectSyncController.kt
│ │ │ │ └── generate/
│ │ │ │ └── file/
│ │ │ │ ├── IdentitySourceFile.kt
│ │ │ │ └── ProjectSettingsFile.kt
│ │ │ ├── extension/
│ │ │ │ ├── RubikExtension.kt
│ │ │ │ └── RubikSingletonExtension.kt
│ │ │ └── shell/
│ │ │ ├── ShellPlugin.kt
│ │ │ ├── checker/
│ │ │ │ ├── CheckClassesRule.kt
│ │ │ │ ├── CheckClassesTransform.kt
│ │ │ │ ├── context/
│ │ │ │ │ ├── CheckContextVersionRule.kt
│ │ │ │ │ └── CheckContextVersionTransform.kt
│ │ │ │ └── router/
│ │ │ │ ├── CheckRouterVersionRule.kt
│ │ │ │ └── CheckRouterVersionTransform.kt
│ │ │ ├── controller/
│ │ │ │ ├── ShellConfigGeneratingController.kt
│ │ │ │ └── ShellSourceGeneratingController.kt
│ │ │ └── generate/
│ │ │ └── files/
│ │ │ ├── RubikIdCheckerSourceFile.kt
│ │ │ └── RubikInitializerSourceFile.kt
│ │ └── resources/
│ │ └── META-INF/
│ │ └── gradle-plugins/
│ │ ├── rubik-analyst.properties
│ │ ├── rubik-context.properties
│ │ ├── rubik-shell.properties
│ │ └── rubik.properties
│ ├── rubik_publish/
│ │ ├── build.gradle
│ │ └── src/
│ │ ├── k1_5/
│ │ │ └── java/
│ │ │ └── ResetKotlinCompileTask.kt
│ │ ├── k1_7/
│ │ │ └── java/
│ │ │ └── ResetKotlinCompileTask.kt
│ │ └── main/
│ │ └── java/
│ │ ├── ByPluginVersion.kt
│ │ └── com/
│ │ └── rubik/
│ │ └── publish/
│ │ ├── exception/
│ │ │ ├── RubikNoClassesToJarException.kt
│ │ │ ├── RubikNoKaptTaskFoundException.kt
│ │ │ ├── RubikNoKotlinCompileFoundException.kt
│ │ │ ├── RubikNoSourceToCompileException.kt
│ │ │ ├── RubikPublishVersionNotSetException.kt
│ │ │ └── RubikTaskStateError.kt
│ │ ├── extension/
│ │ │ └── ContextRecordExtension.kt
│ │ ├── extra/
│ │ │ ├── Context.kt
│ │ │ ├── Injector.kt
│ │ │ └── Rubik.kt
│ │ ├── log/
│ │ │ └── LogTags.kt
│ │ ├── publication/
│ │ │ ├── Component.kt
│ │ │ ├── Jar.kt
│ │ │ ├── Lib.kt
│ │ │ └── SourceCode.kt
│ │ ├── record/
│ │ │ ├── ContextPublicationRecords.kt
│ │ │ ├── PublicationRecord.kt
│ │ │ ├── generate/
│ │ │ │ └── file/
│ │ │ │ └── RubikPublicationRecordFiles.kt
│ │ │ └── version/
│ │ │ └── StandardVersion.kt
│ │ └── task/
│ │ ├── GlobalPublishTasksController.kt
│ │ ├── PublishContextTask.kt
│ │ ├── PublishContextTaskController.kt
│ │ ├── PublishContextTaskGroup.kt
│ │ ├── PublishContextTasksContainer.kt
│ │ ├── both/
│ │ │ ├── ComponentAndContextLibsTask.kt
│ │ │ ├── ComponentAndContextLibsTaskGraphic.kt
│ │ │ ├── PackingLinkComponentAndContextLibsTask.kt
│ │ │ ├── VariantComponentAndContextLibsTask.kt
│ │ │ └── VariantComponentAndContextLibsTaskGraphic.kt
│ │ ├── component/
│ │ │ ├── ComponentTask.kt
│ │ │ ├── ComponentTaskGraphic.kt
│ │ │ ├── PackingLinkComponentTask.kt
│ │ │ ├── VariantComponentTask.kt
│ │ │ └── VariantComponentTaskGraphic.kt
│ │ ├── global/
│ │ │ ├── AllComponentAndContextLibsTask.kt
│ │ │ ├── AllComponentTask.kt
│ │ │ ├── AllContextLibsTask.kt
│ │ │ ├── TagComponentAndContextLibsTask.kt
│ │ │ ├── TagComponentTask.kt
│ │ │ └── TagContextLibsTask.kt
│ │ ├── lib/
│ │ │ ├── ContextLibTask.kt
│ │ │ ├── ContextLibTaskGraphic.kt
│ │ │ └── state/
│ │ │ └── ContextLibStateMachine.kt
│ │ ├── name/
│ │ │ ├── PublishByMeaning.kt
│ │ │ ├── PublishTaskName.kt
│ │ │ └── PublishTaskNameMeaning.kt
│ │ ├── provider/
│ │ │ ├── CopySourceTaskProvider.kt
│ │ │ ├── JarTaskProvider.kt
│ │ │ └── KotlinCompileTaskProvider.kt
│ │ └── target/
│ │ ├── TaskTarget.kt
│ │ ├── TaskTargetContainer.kt
│ │ └── TaskTargetController.kt
│ └── rubik_router/
│ ├── build.gradle
│ ├── consumer-rules.pro
│ ├── proguard-rules.pro
│ └── src/
│ └── main/
│ ├── AndroidManifest.xml
│ ├── java/
│ │ └── com/
│ │ └── rubik/
│ │ ├── Rubik.kt
│ │ ├── activity/
│ │ │ └── Launcher.kt
│ │ ├── builder/
│ │ │ ├── query/
│ │ │ │ ├── BundleQueriesBuilder.kt
│ │ │ │ ├── DSLLaunchQueriesBuilder.kt
│ │ │ │ ├── LinkedLaunchQueriesBuilder.kt
│ │ │ │ ├── QueriesBuilder.kt
│ │ │ │ └── QueriesFrameable.kt
│ │ │ ├── result/
│ │ │ │ └── ResultsBuildable.kt
│ │ │ └── router/
│ │ │ ├── BasicRouterBuilder.kt
│ │ │ ├── DSLApiRouterBuilder.kt
│ │ │ ├── DSLLaunchRouterBuilder.kt
│ │ │ ├── LinkedApiRouterBuilder.kt
│ │ │ ├── LinkedLaunchRouterBuilder.kt
│ │ │ └── RouterBuildable.kt
│ │ ├── context/
│ │ │ ├── Aggregatable.kt
│ │ │ ├── LifeCycleEvent.kt
│ │ │ └── RouteActions.kt
│ │ ├── identity/
│ │ │ ├── IdentityChecker.kt
│ │ │ ├── RIdentity.kt
│ │ │ └── exception/
│ │ │ ├── DuplicateComponentException.kt
│ │ │ ├── DuplicateContextException.kt
│ │ │ ├── RIdentityCheckFailedException.kt
│ │ │ ├── RIdentityNotFoundException.kt
│ │ │ └── UriNotConformException.kt
│ │ ├── logger/
│ │ │ └── Logger.kt
│ │ ├── route/
│ │ │ ├── LaunchQueries.kt
│ │ │ ├── Object.kt
│ │ │ ├── Queries.kt
│ │ │ ├── Query.kt
│ │ │ ├── Result.kt
│ │ │ ├── ResultGroups.kt
│ │ │ ├── Results.kt
│ │ │ ├── exception/
│ │ │ │ ├── BadAggregatableClassException.kt
│ │ │ │ ├── BadPathOrVersionException.kt
│ │ │ │ ├── BadQueryException.kt
│ │ │ │ ├── BadResultException.kt
│ │ │ │ ├── BadTypeException.kt
│ │ │ │ ├── BadUriException.kt
│ │ │ │ ├── BadValueException.kt
│ │ │ │ ├── DuplicateRegisteredUriException.kt
│ │ │ │ └── ParcelableNoCreatorException.kt
│ │ │ └── mapping/
│ │ │ ├── Bundle.kt
│ │ │ ├── JsonMapping.kt
│ │ │ ├── LiveDataMapping.kt
│ │ │ ├── ParcelMapping.kt
│ │ │ └── TypeMapping.kt
│ │ └── router/
│ │ ├── Router.kt
│ │ ├── RouterResult.kt
│ │ ├── TouchHolder.kt
│ │ ├── annotations/
│ │ │ └── RInvariant.kt
│ │ ├── exception/
│ │ │ ├── BadRubikVersionException.kt
│ │ │ ├── BadUriException.kt
│ │ │ ├── RContextNotFoundException.kt
│ │ │ ├── RubikAggregateNotFoundException.kt
│ │ │ └── RubikNotInitException.kt
│ │ └── uri/
│ │ └── Path.kt
│ └── res/
│ └── values/
│ └── strings.xml
├── rubik_libs_repository/
│ ├── demo_com_mars_rubik_test_detail/
│ │ ├── context/
│ │ │ └── detail-lib-context.jar
│ │ └── context_sources/
│ │ └── detail-lib-context-sources.jar
│ ├── demo_com_mars_rubik_test_detail_java/
│ │ ├── context/
│ │ │ └── detail-java-lib-context.jar
│ │ └── context_sources/
│ │ └── detail-java-lib-context-sources.jar
│ ├── demo_com_mars_rubik_test_home/
│ │ ├── context/
│ │ │ └── home-lib-context.jar
│ │ └── context_sources/
│ │ └── home-lib-context-sources.jar
│ ├── rubik-demo_com_mars_rubik_test_detail-publication-records.gradle
│ ├── rubik-demo_com_mars_rubik_test_detail_java-publication-records.gradle
│ └── rubik-demo_com_mars_rubik_test_home-publication-records.gradle
├── rubik_maven_local_repository/
│ └── com/
│ ├── kotlin/
│ │ └── blueprint/
│ │ ├── 5.1.12-K1_5/
│ │ │ ├── blueprint-5.1.12-K1_5.jar
│ │ │ ├── blueprint-5.1.12-K1_5.jar.md5
│ │ │ ├── blueprint-5.1.12-K1_5.jar.sha1
│ │ │ └── blueprint-5.1.12-K1_5.pom
│ │ ├── maven-metadata.xml
│ │ ├── maven-metadata.xml.md5
│ │ ├── maven-metadata.xml.sha1
│ │ ├── maven-metadata.xml.sha256
│ │ └── maven-metadata.xml.sha512
│ ├── ktnail/
│ │ ├── gradle/
│ │ │ ├── 0.1.1-AGBT4_2-K1_5/
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.md5
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha1
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha256
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha512
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.md5
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha1
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha256
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha512
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.md5
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.sha1
│ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.sha256
│ │ │ │ └── gradle-0.1.1-AGBT4_2-K1_5.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ └── x/
│ │ ├── 0.0.62-K1_5/
│ │ │ ├── x-0.0.62-K1_5.jar
│ │ │ ├── x-0.0.62-K1_5.jar.md5
│ │ │ ├── x-0.0.62-K1_5.jar.sha1
│ │ │ └── x-0.0.62-K1_5.pom
│ │ ├── 0.0.67-K1_5/
│ │ │ ├── x-0.0.67-K1_5.jar
│ │ │ ├── x-0.0.67-K1_5.jar.md5
│ │ │ ├── x-0.0.67-K1_5.jar.sha1
│ │ │ ├── x-0.0.67-K1_5.jar.sha256
│ │ │ ├── x-0.0.67-K1_5.jar.sha512
│ │ │ ├── x-0.0.67-K1_5.module
│ │ │ ├── x-0.0.67-K1_5.module.md5
│ │ │ ├── x-0.0.67-K1_5.module.sha1
│ │ │ ├── x-0.0.67-K1_5.module.sha256
│ │ │ ├── x-0.0.67-K1_5.module.sha512
│ │ │ ├── x-0.0.67-K1_5.pom
│ │ │ ├── x-0.0.67-K1_5.pom.md5
│ │ │ ├── x-0.0.67-K1_5.pom.sha1
│ │ │ ├── x-0.0.67-K1_5.pom.sha256
│ │ │ └── x-0.0.67-K1_5.pom.sha512
│ │ ├── maven-metadata.xml
│ │ ├── maven-metadata.xml.md5
│ │ ├── maven-metadata.xml.sha1
│ │ ├── maven-metadata.xml.sha256
│ │ └── maven-metadata.xml.sha512
│ ├── mars/
│ │ └── rubik-test/
│ │ ├── detail-component-company1-channel1-release/
│ │ │ ├── 0.0.1-DEV/
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.md5
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha1
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha256
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha512
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.md5
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha1
│ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha256
│ │ │ │ └── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── detail-component-company1-channel2-release/
│ │ │ ├── 0.0.1-DEV/
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.md5
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha1
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha256
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha512
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.md5
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha1
│ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha256
│ │ │ │ └── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── detail-java-component-release/
│ │ │ ├── 0.0.1-DEV/
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.md5
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha1
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha256
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha512
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.md5
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.sha1
│ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.sha256
│ │ │ │ └── detail-java-component-release-0.0.1-DEV.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── detail-java-lib-context/
│ │ │ ├── 0.0.1-DEV/
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.md5
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha1
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha256
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha512
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.md5
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha1
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha256
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha512
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.md5
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.sha1
│ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.sha256
│ │ │ │ └── detail-java-lib-context-0.0.1-DEV.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── detail-lib-context/
│ │ │ ├── 0.0.1-DEV/
│ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar
│ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.md5
│ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha1
│ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha256
│ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha512
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.md5
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha1
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha256
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha512
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.md5
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.sha1
│ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.sha256
│ │ │ │ └── detail-lib-context-0.0.1-DEV.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ └── home-lib-context/
│ │ ├── 0.0.1-DEV/
│ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar
│ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.md5
│ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha1
│ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha256
│ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha512
│ │ │ ├── home-lib-context-0.0.1-DEV.jar
│ │ │ ├── home-lib-context-0.0.1-DEV.jar.md5
│ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha1
│ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha256
│ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha512
│ │ │ ├── home-lib-context-0.0.1-DEV.pom
│ │ │ ├── home-lib-context-0.0.1-DEV.pom.md5
│ │ │ ├── home-lib-context-0.0.1-DEV.pom.sha1
│ │ │ ├── home-lib-context-0.0.1-DEV.pom.sha256
│ │ │ └── home-lib-context-0.0.1-DEV.pom.sha512
│ │ ├── maven-metadata.xml
│ │ ├── maven-metadata.xml.md5
│ │ ├── maven-metadata.xml.sha1
│ │ ├── maven-metadata.xml.sha256
│ │ └── maven-metadata.xml.sha512
│ ├── rubik/
│ │ ├── annotations/
│ │ │ ├── 1.10.0.0-LOCAL/
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.md5
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha1
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha256
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha512
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.md5
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.sha1
│ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.sha256
│ │ │ │ └── annotations-1.10.0.0-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── context/
│ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256
│ │ │ │ └── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── dsl/
│ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256
│ │ │ │ └── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── kapt/
│ │ │ ├── 1.10.0.0-K1_5-LOCAL/
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.md5
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.md5
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.sha256
│ │ │ │ └── kapt-1.10.0.0-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── picker/
│ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256
│ │ │ │ └── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── plugins/
│ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256
│ │ │ │ └── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ ├── publish/
│ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1
│ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256
│ │ │ │ └── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512
│ │ │ ├── maven-metadata.xml
│ │ │ ├── maven-metadata.xml.md5
│ │ │ ├── maven-metadata.xml.sha1
│ │ │ ├── maven-metadata.xml.sha256
│ │ │ └── maven-metadata.xml.sha512
│ │ └── router/
│ │ ├── 1.10.0.0-K1_5-LOCAL/
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.md5
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha1
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha256
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha512
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.md5
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.sha1
│ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.sha256
│ │ │ └── router-1.10.0.0-K1_5-LOCAL.pom.sha512
│ │ ├── maven-metadata.xml
│ │ ├── maven-metadata.xml.md5
│ │ ├── maven-metadata.xml.sha1
│ │ ├── maven-metadata.xml.sha256
│ │ └── maven-metadata.xml.sha512
│ └── synccode/
│ └── syncer/
│ ├── 0.0.8-K1_5/
│ │ ├── syncer-0.0.8-K1_5.jar
│ │ ├── syncer-0.0.8-K1_5.jar.md5
│ │ ├── syncer-0.0.8-K1_5.jar.sha1
│ │ ├── syncer-0.0.8-K1_5.jar.sha256
│ │ ├── syncer-0.0.8-K1_5.jar.sha512
│ │ ├── syncer-0.0.8-K1_5.module
│ │ ├── syncer-0.0.8-K1_5.module.md5
│ │ ├── syncer-0.0.8-K1_5.module.sha1
│ │ ├── syncer-0.0.8-K1_5.module.sha256
│ │ ├── syncer-0.0.8-K1_5.module.sha512
│ │ ├── syncer-0.0.8-K1_5.pom
│ │ ├── syncer-0.0.8-K1_5.pom.md5
│ │ ├── syncer-0.0.8-K1_5.pom.sha1
│ │ ├── syncer-0.0.8-K1_5.pom.sha256
│ │ └── syncer-0.0.8-K1_5.pom.sha512
│ ├── maven-metadata.xml
│ ├── maven-metadata.xml.md5
│ ├── maven-metadata.xml.sha1
│ ├── maven-metadata.xml.sha256
│ └── maven-metadata.xml.sha512
├── settings-rubik.gradle
├── settings.gradle
├── test_app/
│ ├── build.gradle
│ ├── proguard-rules.pro
│ └── src/
│ ├── androidTest/
│ │ └── java/
│ │ └── com/
│ │ └── rubik/
│ │ └── test/
│ │ ├── EventTest.kt
│ │ ├── LaunchTest.kt
│ │ ├── PathTest.kt
│ │ ├── RouterBuilderTest.kt
│ │ ├── RouterResultTest.kt
│ │ ├── RouterTest.kt
│ │ ├── RubikTest.kt
│ │ ├── TouchTest.kt
│ │ └── router/
│ │ ├── TestAggregate.kt
│ │ ├── TestSimpleAggregate.kt
│ │ └── TestSimpleAggregateFactory.kt
│ ├── main/
│ │ ├── AndroidManifest.xml
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── rubik/
│ │ │ └── test/
│ │ │ └── TestActivity.kt
│ │ └── res/
│ │ ├── drawable/
│ │ │ └── ic_launcher_background.xml
│ │ ├── drawable-v24/
│ │ │ └── ic_launcher_foreground.xml
│ │ ├── layout/
│ │ │ └── activity_test.xml
│ │ ├── mipmap-anydpi-v26/
│ │ │ ├── ic_launcher.xml
│ │ │ └── ic_launcher_round.xml
│ │ └── values/
│ │ ├── colors.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ └── test/
│ └── java/
│ └── com/
│ └── rubik/
│ └── test/
│ └── ExampleUnitTest.kt
├── version-adapter.gradle
└── versions.gradle
================================================
FILE CONTENTS
================================================
================================================
FILE: LICENSE
================================================
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
================================================
FILE: README.md
================================================
<div align="center">
<p> <img width="600" src="https://user-images.githubusercontent.com/7745189/174275733-ff1ec56e-82ea-4c3b-86de-b2b07d258842.jpeg"> </p>





</div>
<div align="center">
<a href="./README_en.md">English Readme</a>
</div>
# Rubik
Rubik是一套解决Android平台组件化的综合方案,提供gradle project之间的路由通讯能力,以及对gradle project的组件定义、版本控制、maven发布、aar/jar与源码之间的切换以及组件的自由组合等能力。
Rubik由两部分组成:
* Rubik Router :提供组件之间的低耦合通讯能力,即Rubik的"函数路由",与一般的页面路由不同,Rubik Router允许把Uri及参数,导航到工程内部,任意的一个公开的JVM语言(Java/Kotlin)函数的执行上,以便于更灵活的进行gradle project之间不基于代码调用的通讯。
* Rubik 工具链 :提供组件上下文的定义、版本控制、maven发布、aar/jar与源码之间的切换等能力,包括4个gradle plugin:
+ rubik:
- 提供全局定义组件的能力,并根据全局定义自动启用rubik-context、rubik-shell等插件
+ rubik-context:
- 提供task,自动生成接口中间代码,并把中间代码打包成context.jar ,按版本号发布到maven
- 提供task,把业务代码按flavor、版本号编译成aar (包括代码、资源、内置SDK)发布到maven
- 通过全局定义的组件,为组件所在子工程自动添加其他组件的context.jar的依赖
+ rubik-shell:
- 给壳工程提供筛选组件能力,根据flavor、版本号筛选要打包进apk的业务组件
- 提供组件的源码工程和aar切换的能力
+ rubik-test:
- 给工程提供单元测试环境
## 快速开始
### 1. 工程创建和组件声明:
  (1) 创建或使用已有的一个或多个android library module,作为"组件工程"(如demo代码中的demo_component_detail、demo_component_home等),用于开发真正的业务逻辑。
  (2) 在最外层工程(gradle root project)的build.gradle或gradle.properties文件中配置Rubik版本号等初始化参数,并在最外层工程中启用rubik插件:
```groovy
ext {
rubik_kapt_version = "com.rubik:kapt:1.9.1.1-K1_5"
rubik_router_version = "com.rubik:router:1.9.1.1-K1_5"
rubik_plugins_version = "com.rubik:plugins:1.9.1.1-AGBT4-K1_5"
}
apply plugin: 'rubik' // 启用rubik插件
```
  (3) 在最外层工程的build.gradle文件或同级目录下的rubik-*.gradle文件中,配置组件信息:
```groovy
rubik {
component { // 第一个组件
uri "app://com.myapp.home" // 组件的Uri
touching { // 组件需要依赖的其他组件
uri ("app://com.myapp.detail" ) {
version "0.1.1" // 依赖其他组件的版本
}
uri( … )
}
source { // 定义默认来源,如不需切换源码和aar,可以只声明project或maven
project (":demo_component_home")
}
}
component { … } //继续配置第二个组件
}
```
### 2. 让组件之间互相通信:
  (1). 在接口提供者工程内,通过注解定义路由路径,作为组件暴露给其他组件的通信接口:
    通过RFunction注解声明函数路由:
```kotlin
@RFunction(path = "account/user")
fun getUser(id : Int, name : String) : User? {
…
}
```
    通过RPage注解声明页面路由:
```kotlin
@RPage(path = "page/main")
class HomeActivity : AppCompatActivity() {
…
}
```
  (2). 执行接口提供者工程对应的"publishRubikXxxRContextLib"任务,发布组件上下文到云端或本地maven仓库。
  (3). 执行接口提供者工程对应的"publishRubikXxxRComponent"任务,发布组件aar到云端或本地maven仓库。
  (4). 在接口调用者工程内,调用上述接口提供者所提供的接口,可以选择两种方式:
    通过Kotlin DSL:
```kotlin
navigate {
uri = "app://com.myapp.detail/account/user" // 请求的uri
query { // 请求的参数
"id" with 400
"name" with "CuiVincent"
}
result<User?> { user ->
// 通过泛型指定接收数据类型,多次异步返回时,可以用多个result接收
…
}
}
```
    通过自动生成的镜像函数:
```kotlin
DetailContext.Account.user(400, "CuiVincent" ) { user ->
… // 自动生成的镜像函数的参数类型、返回值类型都是明确的,比DSL方式更具有约束力
}
```
### 3. 筛选要打包的组件
  (1). 创建或使用已有的android application project,作为"壳工程"(如demo代码中的demo_root_app),用于把组件组装并编译成Apk。
  (2). 在"壳工程"的的build.gradle文件或同级目录下的rubik-*.gradle文件中,指定"壳工程"最终要将哪些组件,以哪种方式引入,并打包到最终的编译产物之中:
```groovy
rubik {
packing {
projectMode { // projectMode,通过源码工程的方式引入组件
uri ("app://com.myapp.home")
uri ("app://com.myapp.*") // 支持通过*匹配任意字符
}
mavenMode { // mavenMode,通过maven上的aar的方式引入组件
uri ("app://com.myapp.detail") {
version "0.2.0"
}
}
}
}
```
## 测试
* 通过rubik-test插件,给当前工程的androidTest variant添加全部可pick组件的context.jar依赖,便于写测试用例。
```kotlin
@RunWith(AndroidJUnit4::class)
class RouterTestCase {
@Before
fun init() {
Rubik.init()
} // 初始化Rubik
@Test
fun usePerview() {
PerviewContext.preViewVideo(path) { success ->
log("preViewVideo success:${success}")
} // 测试用例
}
… // 继续写测试用例
}
```
## 如何贡献
请用Kotlin语言编写,所有注明动机的合理改动提交都会被接收。
================================================
FILE: README_en.md
================================================
<div align="center">
<p> <img width="600" src="https://user-images.githubusercontent.com/7745189/174275733-ff1ec56e-82ea-4c3b-86de-b2b07d258842.jpeg"> </p>





</div>
<div align="center">
<a href="./README.md">中文 Readme</a>
</div>
# Rubik
Rubik is a comprehensive solution for Android platform componentized development. It provides the ability of routing communication between Gradle projects, as well as the ability of component definition, version control, Maven publishing, AAR/JAR and source code switching, and free composition of components.
Rubik consists of two parts:
* Rubik Router :Provide low coupling communication between components. The function level routing capability of Rubik. Unlike normal page router, Rubik Router allows the Uri and
parameters to be navigated to any execution of a public JVM language (Java/Kotlin) function . It allows for more flexible communication between Gradle Projects without code calls.
* Rubik Tools link :Provides component context definition, versioning, Maven publishing, AAR/JAR and source switching capabilities, including 4 Gradle Plugins:
+ rubik:
- Provides the ability to define components globally, and automatically enables plugins such as rubik-context and rubik-shell based on the global definition
+ rubik-context:
- Provide Task, automatically generate the intermediate code such as interface, and package the intermediate code into context.jar, release to Maven according to the version.
- Provides tasks to compile business codes into AAR (including code, resources, and built-in SDK) based on flavor and version. publish them to Maven.
- Automatically adds dependencies on other context.jars to subprojects where components reside
+ rubik-shell:
- Provides the ability to picking components, picking components to be packaged into APK based on flavor and version.
- Provide component source code and AAR switching ability.
+ rubik-test:
- Provide unit testing environment for projects
## Quick start
### 1. Project creation and component declaration:
  (1) Create or use one or more existing Android Library Modules as "component projects" (demo_component_detail, DEMO_component_home, etc. in Demo code) for developing real business logic.
  (2) Set Rubik initialization parameters such as the Rubik version in the build.gradle or gradle.properties file of the gradle root project. and enable the Rubik plugin in the gradle root project:
```groovy
ext {
rubik_kapt_version = "com.rubik:kapt:1.9.1.1-K1_5"
rubik_router_version = "com.rubik:router:1.9.1.1-K1_5"
rubik_plugins_version = "com.rubik:plugins:1.9.1.1-AGBT4-K1_5"
}
apply plugin: 'rubik' // enable the Rubik plugin
```
  (3) In the build.gradle file of the outermost project ,or rubik-*.gradle file in its sibling directory, configure the component information:
```groovy
rubik {
component { // The first component
uri "app://com.myapp.home" // The Uri of component
touching { // The component needs to depend on other components
uri ("app://com.myapp.detail" ) {
version "0.1.1" // Versions that depend on other components
}
uri( … )
}
source { // Define the default source.
project (":demo_component_home")
}
}
component { … } // Proceed to configure the second component
}
```
### 2. Let components communicating to each other.:
  (1). In the interface provider project, defined routing path by annotations, as a communication interface that a component exposes to other components:
    Declare function route with the RFunction annotation:
```kotlin
@RFunction(path = "account/user")
fun getUser(id : Int, name : String) : User? {
…
}
```
    Declare page route with the RPage annotation:
```kotlin
@RPage(path = "page/main")
class HomeActivity : AppCompatActivity() {
…
}
```
  (2). Run "publishRubikXxxRContextLib" task in the interface provider project, release the component context to the cloud or local maven repository.
  (3). Run "publishRubikXxxRComponent" task in the interface provider project, release the component aar to the cloud or local maven repository.
  (4). In the interface caller project, there are two ways to call the interface provided by the above interface provider:
    Via Kotlin DSL:
```kotlin
navigate {
uri = "app://com.myapp.detail/account/user" // The request uri
query { // Parameters of the request
"id" with 400
"name" with "CuiVincent"
}
result<User?> { user ->
// The received data type is specified by generics, and multiple asynchronous returns can be received as multiple results
…
}
}
```
    Via automatically generated image functions:
```kotlin
DetailContext.Account.user(400, "CuiVincent" ) { user ->
… // The parameter type and return value type of the automatically generated image function are clear, which is more binding than the DSL
}
```
### 3. Picking components to package
  (1). Create or use an existing Android Application Project as a "shell project" (demo_root_app in demo code) to assemble and compile components to Apk.
  (2). In the build.gradle file of the shell project or rubik-*.gradle file in its sibling directory, specify which components the shell project will eventually bring in and how they will be packaged into the final build product:
```groovy
rubik {
packing {
projectMode { // projectMode,Introduce components through source code project
uri ("app://com.myapp.home")
uri ("app://com.myapp.*") // Support to match any character through *
}
mavenMode { // mavenMode,Introduce components through AAR on maven
uri ("app://com.myapp.detail") {
version "0.2.0"
}
}
}
}
```
## Test
* Through the rubik-test plugin, add all the context.jar dependencies of picked components to androidTest Variant of the current project, which is easy to write test cases.
```kotlin
@RunWith(AndroidJUnit4::class)
class RouterTestCase {
@Before
fun init() {
Rubik.init()
} // Initialize Rubik
@Test
fun usePerview() {
PerviewContext.preViewVideo(path) { success ->
log("preViewVideo success:${success}")
} // Test case
}
… // Continue to write test cases
}
```
## How to contribute
Please write in Kotlin, and all change commit with reasonable motivation will be accepted.
================================================
FILE: build.gradle
================================================
// Top-level build file where you can add configuration options common to all sub-projects/modules.
apply plugin: 'rubik'
buildscript {
ext {
rubik_tmp_lib_dir = uri('./rubik_libs_repository').path // default:./rubik_libs
// rubik_tmp_lib_dir_mode = false // default: false
rubik_maven_repository = "http://my.maven/repository/releases/"
rubik_maven_username = "admin" // simple
rubik_maven_password = "123" // simple
rubik_maven_local_repository = uri('./rubik_maven_local_repository').path
// rubik_use_reset_compiler = false // default: true
// rubik_publish_context_lib_source = true // default: true
// rubik_kapt_version = "com.rubik:kapt:xxx" // @see version.gradle in this demo
// rubik_router_version = "com.rubik:router:xxx" // @see version.gradle in this demo
// rubik_plugins_version = "com.rubik:plugins:xxx" // @see version.gradle in this demo
// rubik_kapt_source_folder = "generated/source/kaptKotlin"
// rubik_clean_before_task = false // default: true
rubik_auto_generate_aggregate = true // default: false
rubik_generate_aggregate_in_build_dir = false // default: true
// only usable when rubik_auto_generate_aggregate = true
rubik_aggregate_kdoc_add_user_add_time = false // default: true
rubik_auto_generate_component_id = true // default: false
rubik_generate_router_context = true // default: false
// rubik_extension_name = "rk"
// rubik_auto_apply_shell_plugin = false // default: true
rubik_config_file_dirs = [uri('./demo').path]
// rubik_github_maven_repository = "https://maven.pkg.github.com/baidu/rubik/"
// rubik_github_maven_username = "myname"
// rubik_github_maven_password = "123"
// rubik_enable_check_router_version = true // default: false
// rubik_enable_check_context_version = true // default: false
// rubik_check_context_lib_tasks_state = false // default: true
// rubik_context_packing_compile_only = false // default: true
// rubik_auto_fill_flavor = false // default: true
// rubik_strict_touching_and_packing = false // default: true
rubik_except_component_build_types = ['debug']
rubik_except_component_flavors = ['company2']
rubik_remove_project_when_publish_context_libs = false // default: true
rubik_publication_record_files_dir = uri('./rubik_libs_repository').path
// rubik_auto_update_publication_record = false // default: true
//
// rubik_auto_use_publication_record = false // default: true
rubik_publication_record_history_max_size = 15 // default: 10
rubik_on_route_method_max_size = 15 // default: 100
// rubik_sync_code_enable = false // default: true
//
// rubik_auto_generate_settings = false // default: true
rubik_log_level = 1 // 1:all logs , 2:default , 3:least logs
rubik_write_log_to_file = false
// rubik_ignore_value_annotations = ["com.google.gson.annotations.SerializedName"]
}
apply from: 'version-adapter.gradle'
apply from: 'versions.gradle'
addRepos(repositories)
dependencies {
classpath "com.android.tools.build:gradle:$agbt_version"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath rubik_plugins_version
}
}
allprojects {
addRepos(repositories)
}
task clean(type: Delete) {
delete rootProject.buildDir
}
================================================
FILE: demo/demo_component_detail/build.gradle
================================================
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
buildToolsVersion "30.0.0"
defaultConfig {
minSdkVersion 23
targetSdkVersion 30
versionCode 1
versionName "1.0"
consumerProguardFiles 'consumer-rules.pro'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
flavorDimensions "company", "channel"
productFlavors {
company1 { dimension "company" }
company2 { dimension "company" }
channel1 { dimension "channel" }
channel2 { dimension "channel" }
}
}
androidExtensions {
experimental = true
}
rubik {
aggregateSet uri('./src/main/ra').path
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.code.gson:gson:2.8.5'
// implementation project(':demo:demo_until_library_a')
}
================================================
FILE: demo/demo_component_detail/consumer-rules.pro
================================================
================================================
FILE: demo/demo_component_detail/proguard-rules.pro
================================================
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
================================================
FILE: demo/demo_component_detail/src/main/AndroidManifest.xml
================================================
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mars.component.detail">
<application android:label="@string/app_name">
<activity android:name=".ui.FirstPageActivity"/>
<activity android:name=".ui.SecondPageActivity"/>
</application>
</manifest>
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/AipsInCompanion.kt
================================================
package com.mars.component.detail.api
import com.rubik.annotations.route.RRoute
class AipsInCompanion {
companion object DetailCompanion {
// Companion方法
@RRoute(path = "doSthCompanion")
fun doSthCompanion(i: Int, j: String, k: Long): String {
println(" AP DBG DETAIL doSthCompanion begin !!! i:$i j:$j k:$k")
return "result = i:$i j:$j k:$k"
}
// Companion属性
@RRoute(path = "property/companion")
var propertyCompanion: String = "bnm3"
// Companion高阶函数
@RRoute(path = "doSthHOFCompanion")
val doSthHOFCompanion: (Int) -> Int = {
println(" AP DBG DETAIL doSthHOFCompanion begin !!!")
it + 102
}
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/AipsInTop.kt
================================================
package com.mars.component.detail.api
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RRoute
//顶层方法
@RRoute(path = "doSthTop")
fun doSthTop(
ints: Array<Int>,
li: List<Int?>,
strings: Array<String>,
ls: List<String>,
beans: Array<TestDataBean>,
lb: List<TestDataBean>
): List<TestDataBean> {
println(" AP DBG DETAIL doSthTop begin beans:${ints[0]} li:${li[0]} ls:${ls[0]} strings:${strings[0]} beans:${beans[0]} lb:${lb[0]} !!!")
return lb
}
//顶层高阶函数
@RRoute(path = "doSthHOFTop")
val doSthHOFTop: (Unit) -> Unit = {
println(" AP DBG DETAIL doSthHOFTop begin !!!")
}
//顶层属性
@RRoute(path = "property/top")
var propertyTop: String = "bnm"
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApiSerialization.kt
================================================
package com.mars.component.detail.api
import com.mars.component.detail.value.TestParcelizeBean
import com.mars.component.detail.value.TestSerializableBean
import com.rubik.annotations.route.function.RFunction
class ApiSerialization {
@RFunction(path = "api/serialization/parcel-bean")
fun doSthParcelBean(parcelBean: TestParcelizeBean?): TestParcelizeBean {
println(" AP DBG DETAIL doSthParcelBean begin parcelBean:${parcelBean?.d2}!!!")
return TestParcelizeBean(430,"from detail!")
}
@RFunction(path = "api/serialization/parcel-array")
fun doSthParcelArray(parcels: Array<TestParcelizeBean>): Array<TestParcelizeBean> {
println(" AP DBG DETAIL doSthParcelArray begin parcels:${parcels.size}!!!")
println(" AP DBG DETAIL doSthParcelArray begin parcels 0 :${parcels[0].d2}!!!")
return arrayOf(
TestParcelizeBean(430, "from detail 11!"),
TestParcelizeBean(430, "from detail 22!"),
TestParcelizeBean(430, "from detail 33!")
)
}
@RFunction(path = "api/serialization/parcel-list")
fun doSthParcelList(parcels: List<TestParcelizeBean>): List<TestParcelizeBean> {
println(" AP DBG DETAIL doSthParcelList begin parcels:${parcels.size}!!!")
println(" AP DBG DETAIL doSthParcelList begin parcels 0 :${parcels[0].d2}!!!")
return listOf(
TestParcelizeBean(430, "from detail 22!"),
TestParcelizeBean(430, "from detail 33!"),
TestParcelizeBean(430, "from detail 44!")
)
}
@RFunction(path = "api/serialization/Serializable-bean")
fun doSthSerializableBean(serializableBean: TestSerializableBean): TestSerializableBean {
println(" AP DBG DETAIL doSthSerializableBean begin serializableBean:${serializableBean.d2}!!!!!!")
return TestSerializableBean(530,"from detail!")
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/Apis.kt
================================================
package com.mars.component.detail.api
import android.app.Activity
import android.content.Context
import android.view.View
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.ViewModelStoreOwner
import com.mars.component.detail.value.TestDataBean
import com.mars.component.detail.value.TestListBean
import com.mars.component.detail.value.mapping.TestDataMappingBean
import com.mars.component.detail.value.mapping.TestNestDataMappingBean
import com.rubik.annotations.route.RRoute
typealias AliasHof = (String?) -> String?
typealias AigcChatHybridActionCreator = (
activity: Activity,
owner: ViewModelStoreOwner,
lifecycleOwner: LifecycleOwner,
hybridActionBuilder: LifecycleOwner?,
baseView: LifecycleOwner?
) -> LifecycleOwner?
class Apis {
// 无参无返回值
@RRoute(path = "do-sth")
fun doSth() {
println(" AP DBG DETAIL doSth begin !!!")
}
// 高阶函数
@RRoute(path = "do-sth-hof", forResult = true, version = "2.0")
val doSthHOF: (Int, String, TestDataBean) -> Int = { a, b, c ->
println(" AP DBG DETAIL doSthHOF begin b:$b c:$c!!!")
a + 102
}
// 属性
@RRoute(path = "property/property", version = "1.0")
val property: String = "vbn"
// 返回View
@RRoute(path = "view/get")
fun getView(context: Context): View? {
println(" AP DBG DETAIL getView begin !!!")
return View(context)
}
// uri传递参数
@RRoute(path = "sth/{id}/a-{name}?code1={code1}&code2={code2}")
fun getSth(id: String, name: String, code1: String, code2: String): String {
println(" AP DBG DETAIL getSth begin id:$id name:$name code1:$code1 code2:$code2 !!!")
return "$id => $name => $code1 => $code2"
}
// navigationOnly
@RRoute(path = "sth-navigation-only/{uri}", navigationOnly = true)
fun getSthNavigationOnly(uri: String): String {
println(" AP DBG DETAIL getSthNavigationOnly begin uri:$uri !!!")
return "$uri !"
}
// 变长参数
@RRoute(path = "doSthVararg")
fun doSthVararg(no: Int, vararg varargString: String) {
println(" AP DBG DETAIL doSthVararg begin strings:${varargString.getOrNull(0)}!!!")
}
@RRoute(path = "doSthVarargHof")
fun doSthVarargHof(no: Int, vararg varargString: AigcChatHybridActionCreator) {
println(" AP DBG DETAIL doSthVarargHof begin strings:${varargString.getOrNull(0)}!!!")
}
// Bean参数返回值
@RRoute(path = "doSthBean")
fun doSthBean(a1: TestDataBean): TestListBean {
println(" AP DBG DETAIL doSthBean begin a1:${a1.d1}!!!")
return TestListBean(55)
}
// // BeanList参数返回值
// @RRoute(context = "com.mars.rubik-test.detail", path = "doSthBean")
// fun doSthBeanList(a1: List<TestDataNotRValueBean>?): List<TestDataNotRValueBean>? {
// println(" AP DBG DETAIL doSthBean begin a1:${a1?.getOrNull(0)}!!!")
// return listOf(TestDataNotRValueBean(66, ""))
// }
// uri冲突
// @RRoute(path = "doSthUriCrash")
// fun doSthUriCrash1(name: String, code: String) {
// }
//
// @RRoute(path = "doSthUriCrash")
// fun doSthUriCrash2(name: String, code: String, version: String) {
// }
@RRoute(path = "do-sth-uri-crash")
fun doSthUriCrash3(name: String, code: String) {
}
@RRoute(path = "do-sth-uri-crash")
fun doSthUriCrash4(name: String, code: String, version: String) {
}
// @RRoute(path = "do-sth-uri-crash")
// fun doSthUriCrash5(name: String, code: String, version: String) {
// }
// Bean mapping参数返回值
@RRoute(path = "doSthMappingBean")
fun doSthMappingBean(a1: TestDataMappingBean): TestDataMappingBean {
println(" AP DBG DETAIL doSthMappingBean a1:${a1.d1}!!!")
return TestDataMappingBean(655, "sdfa")
}
// Bean mapping参数返回值
@RRoute(path = "doSthTestNestDataMappingBean")
fun doSthTestNestDataMappingBean(bean: TestNestDataMappingBean): TestNestDataMappingBean {
println(" AP DBG DETAIL doSthTestNestDataMappingBean ${bean.d1?.d2} ${bean.d2?.d2} ${bean.d3?.d2} ${bean.d4} ${bean.d5}!!!")
return TestNestDataMappingBean(
TestDataBean(23, "11sdsd"),
TestDataMappingBean(55, "11sdsd"),
TestNestDataMappingBean(
TestDataBean(4423, "22sdsd"),
TestDataMappingBean(4455, "22sdsd"),
null,
listOf(TestDataBean(4423, "22sdsd")),
listOf(TestDataMappingBean(4455, "22sdsd"))
),
listOf(TestDataBean(23, "11sdsd")),
listOf(TestDataMappingBean(55, "11sdsd"))
)
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisAsyncReturn.kt
================================================
package com.mars.component.detail.api
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RResult
import com.rubik.annotations.route.RRoute
class ApisAsyncReturn {
// 高阶函数异步返回
@RRoute(path = "doSthAsyncHOF")
fun doSthAsyncHOF(@RResult hof: (String, TestDataBean) -> Unit) {
println(" AP DBG DETAIL doSthAsyncHOF begin !!!")
hof("dfg", TestDataBean(101, "xxx"))
}
// 高阶函数异步返回
@RRoute(path = "doSthAsyncHOFNullable")
fun doSthAsyncHOFNullable(
@RResult hofx1res: ((String, TestDataBean) -> Unit)?,
hof2xx: ((String, TestDataBean) -> Unit)?,
// @RResult hofx3res: ((String, Int, TestDataBean) -> TestDataBean)?,
hof4xx: ((String, Int, TestDataBean) -> TestDataBean?)?
) {
println(" AP DBG DETAIL doSthAsyncHOFNullable begin !!!")
hofx1res?.invoke("dfg", TestDataBean(101, "xxx"))
}
@RRoute(path = "doSthAsync2HOF")
fun doSthAsyncHOF(
@RResult hof: (String, Int) -> Unit,
@RResult hof2: (String, Int) -> Unit
) {
println(" AP DBG DETAIL doSthAsyncHOF begin !!!")
hof("dfg", 22)
hof2("dfg2", 222)
}
// 接口异步返回
@RRoute(path = "doSthAsyncOpen")
fun doSthAsyncOpen(uri: String, @RResult results: Callback?) {
println(" AP DBG DETAIL doSthAsyncOpen begin uri:$uri !!!")
results?.onCall("zxc", 33)
}
@RRoute(path = "do-sth-async-interface")
fun doSthAsyncInterface(@RResult onResult: Callbackable) {
println(" AP DBG DETAIL doSthAsyncInterface begin !!!")
onResult.onCall("zxc", 33)
}
@RRoute(path = "do-sth-async-3-interface")
fun doSthAsync2Interface(
@RResult onResult: Callbackable?,
@RResult onResult2: Callbackable,
@RResult onResult3: BeanCallbackable
// @RResult onResult4: BeanReturnCallbackable,
// func5: BeanReturnCallbackable
) {
println(" AP DBG DETAIL doSthAsyncInterface begin !!!")
onResult?.onCall("zxc", 33)
onResult2.onCall("zxc2", 332)
onResult3.onCall(TestDataBean(0, "abd"))
}
@RRoute(path = "do-sth-async-interface-multi-func")
fun doSthAsyncInterfaceMultiFunc(@RResult onResult: MultiCallback) {
println(" AP DBG DETAIL doSthAsyncInterface begin !!!")
onResult.start("start1", 55)
onResult.data(TestDataBean(1, "dfg"))
onResult.stop("stop2", 66)
}
}
open class Callback {
open fun onCallNone(v1: String?, v2: Int) {
// nothing
}
@RResult
open fun onCall(v1: String?, v2: Int) {
// nothing
}
}
interface Callbackable {
fun onCall(v1: String?, v2: Int)
}
interface BeanCallbackable {
fun onCall(v: TestDataBean?)
}
interface MultiCallback {
@RResult
fun start(v1: String?, v2: Int)
@RResult
fun data(v: TestDataBean?)
@RResult
fun stop(v1: String?, v2: Int)
}
interface BeanReturnCallbackable {
fun onCall(v: TestDataBean?):TestDataBean
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisBadCase.kt
================================================
package com.mars.component.detail.api
import android.content.Context
import androidx.lifecycle.LiveData
import com.rubik.annotations.route.RResult
import com.rubik.annotations.route.RRoute
class ApisBadCase {
@RRoute(path = "getFilesMeta")
fun getFilesMeta(context: Context?, path: String?, @RResult callback: GetFileMetaCallback) {
}
@RRoute(path = "enterprise/business/allocateTicket")
fun allocateTicket(context: Context, shareId: Long, count: Int, packetType: Int): LiveData<List<String>>? {
return null
}
// @RRoute(path = "get/TestClassB")
// fun allocateTicket( count: Int): LiveData<TestClassB>? {
// return null
// }
// @RFunction(path = "shareObject/createGroupLinkShareController")
// fun createGroupLinkShareController(
// activity: Activity?,
// shareOption: String?,
// image: ByteArray?,
// handler: Handler?,
// type: String?
// ): GetFileMetaCallback? {
// return null
// }
//
// @RFunction(path = "shareObject/createGroupLinkShareController")
// fun createGroupLinkShareController(
// activity: Activity?,
// shareOption: String?,
// handler: Handler?,
// type: String?,
// @RResult shareHelper: GetFileMetaCallback?
// ): GetFileMetaCallback? {
// return null
// }
}
interface GetFileMetaCallback {
/**
* 文件恢复结果通知
*/
@RResult
fun onResult(fsid: Long, path: String?)
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisBigData.kt
================================================
package com.mars.component.detail.api
import com.mars.component.detail.value.TestDataBean
import com.mars.component.detail.value.TestParcelizeBean
import com.rubik.annotations.route.function.RFunction
class ApisBigData {
private val testArraySize = 200001
private val testListSize = 200001
@RFunction(path = "api/bigdata/json-array")
fun getBigJsonArray(array: Array<TestDataBean>): Array<TestDataBean> {
println(" AP DBG DETAIL getBigJsonArray begin array:${array.size}!!!")
return Array(testArraySize) {
TestDataBean(it, "from detail! array:$it")
}
}
@RFunction(path = "api/bigdata/parcel-array")
fun getBigParcelArray(array: Array<TestParcelizeBean>): Array<TestParcelizeBean> {
println(" AP DBG DETAIL getBigJsonArray begin array:${array.size}!!!")
return Array(testArraySize) {
TestParcelizeBean(it, "from detail! array:$it")
}
}
@RFunction(path = "api/bigdata/lib-array")
fun getBigLibArray(array: Array<TestDataBean>): Array<TestDataBean> {
println(" AP DBG DETAIL getBigJsonArray begin array:${array.size}!!!")
return Array(testArraySize) {
TestDataBean(it, "from detail! array:$it")
} // TestLibDataBean
}
@RFunction(path = "api/bigdata/json-list")
fun getBigJsonList(list: List<TestDataBean>): List<TestDataBean> {
println(" AP DBG DETAIL getBigJsonList begin list:${list.size}!!!")
return MutableList(testListSize){
TestDataBean(it, "from detail! list:$it")
}
}
@RFunction(path = "api/bigdata/parcel-list")
fun getBigParcelList(list: List<TestParcelizeBean>): List<TestParcelizeBean> {
println(" AP DBG DETAIL getBigJsonList begin list:${list.size}!!!")
return MutableList(testListSize){
TestParcelizeBean(it, "from detail! list:$it")
}
}
// @RFunction(path = "api/bigdata/lib-list")
// fun getBigLibList(list: List<TestLibDataBean>): List<TestLibDataBean> {
// println(" AP DBG DETAIL getBigJsonList begin list:${list.size}!!!")
// return List(testListSize){
// TestLibDataBean(it, "from detail! list:$it")
// }
// }
@RFunction(path = "api/bigdata/lib-list")
fun getBigLibList(list: List<TestDataBean>): List<TestDataBean> {
println(" AP DBG DETAIL getBigJsonList begin list:${list.size}!!!")
return List(testListSize){
TestDataBean(it, "from detail! list:$it")
}
}
@RFunction(path = "api/bigdata/parcel-arraylist")
fun getBigParcelArrayList(list: List<TestParcelizeBean>): MutableList<TestParcelizeBean> {
println(" AP DBG DETAIL getBigJsonList begin arraylist:${list.size}!!!")
return MutableList(testListSize){
TestParcelizeBean(it, "from detail! arraylist:$it")
}
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisExt.kt
================================================
package com.mars.component.detail.api
import com.rubik.annotations.route.RExtend
import com.rubik.annotations.route.RRoute
// 扩展函数
@RRoute(path = "do-sth-ext")
fun doSthExt(s: String, @RExtend i: Int): Int {
println(" AP DBG DETAIL doSthExt i:$i !!!")
return i
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisProvideInstance.kt
================================================
package com.mars.component.detail.api
import com.rubik.annotations.route.RInstance
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.instance.RRouteInstance
class Task @RInstance(
provideForPath = "do-sth-provide-instance-by-constructor"
) constructor(val value: String) {
// 通过assist提供实例
@RRoute(path = "do-sth-provide-instance-by-func")
fun doSthProvideObject() {
println(" AP DBG DETAIL doSthProvideObject begin value:$value!!!")
}
@RRoute(path = "do-sth-provide-instance-by-func2")
fun doSthProvideObject2() {
println(" AP DBG DETAIL doSthProvideObject begin value:$value!!!")
}
@RRoute(path = "do-sth-provide-instance-by-parameter-func")
fun doSthProvideObject2(v1: String, v2: Int?, v3: Int?) {
println(" AP DBG DETAIL doSthProvideObjectByParameterFunction begin value:$value v1:$v1 v2:$v2 v3:$v3 :!!!")
}
@RRoute(path = "do-sth-provide-instance-by-constructor")
fun doSthProvideObject3(v1: String, v2: Int?, v3: Int?) {
println(" AP DBG DETAIL doSthProvideObjectByConstructor begin value:$value v1:$v1 v2:$v2 v3:$v3 :!!!")
}
}
@RInstance(provideForPath = "do-sth-provide-instance-by-func")
@RInstance(provideForPath = "do-sth-provide-instance-by-func2")
fun provideTask(): Task {
println(" AP DBG DETAIL provideTask begin !!!")
return Task("TTT-CREATE BY FUNC")
}
@RInstance(provideForPath = "do-sth-provide-instance-by-parameter-func")
fun provideTask2(value: String, v0: Int?): Task {
println(" AP DBG DETAIL provideTask2 begin v0:$v0!!!")
return Task(value)
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisWithLiveData.kt
================================================
package com.mars.component.detail.api
import android.os.Handler
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.mars.component.detail.value.TestDataBean
import com.mars.component.detail.value.TestListBean
import com.rubik.annotations.route.RRoute
class ApisWithLiveData {
// 传递LiveData
@RRoute(path = "live-data/get")
fun getSthLiveData(): LiveData<String> {
return MutableLiveData<String>().apply {
this.postValue("i am from A")
Handler().postDelayed({
this.value = "i am also from A"
}, 1000L)
}
}
@RRoute(path = "live-data-bean/get")
fun getSthLiveDataBean(): LiveData<TestDataBean> {
return MutableLiveData<TestDataBean>().apply {
this.value = TestDataBean(122334, "A1q2w3e")
}
}
@RRoute(path = "live-data-bean-list/get")
fun getSthLiveDataBeanList(): LiveData<List<TestListBean?>> {
return MutableLiveData<List<TestListBean?>>().apply {
this.value = listOf(
TestListBean(45566778, listOf("A2QQQ", "A2WWW", "A2EEE")),
TestListBean(67788990, listOf("A2AAA", "A2SSS", "A2DDD"))
)
}
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisWithResultReceiver.kt
================================================
package com.mars.component.detail.api
import android.os.Bundle
import android.os.Handler
import android.os.ResultReceiver
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RRoute
import com.rubik.route.mapping.query
import com.rubik.router.bundleQueries
import com.rubik.router.property
class ApisWithResultReceiver {
// 传递ResultReceiver
@RRoute(path = "doSthResultReceiver")
fun doSthResultReceiver(result: ResultReceiver): ResultReceiver {
result.send(100, bundleQueries {
"fromA" with " this is A "
"BEAN_fromA" with TestDataBean(555,"A5r5r5r")
})
return object : ResultReceiver(Handler()) {
override fun onReceiveResult(resultCode: Int, resultData: Bundle?) {
super.onReceiveResult(resultCode, resultData)
println(
" AP DBG DETAIL doSthResultReceiver begin resultCode:$resultCode " +
"resultData1:${resultData?.property<String>("fromB"
)} resultData2:${resultData?.property<TestDataBean>(
"BEAN_fromB"
)?.d2} !!!"
)
}
}
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/callback/CallbackTestDefault.kt
================================================
package com.mars.component.detail.callback
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RCallback
@RCallback
interface CallbackTestDefault {
fun callbackDefault1(int1: Int)
fun callbackDefault2(bean:TestDataBean?)
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/callback/CallbackTestInterface.kt
================================================
package com.mars.component.detail.callback
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RCallback
import com.rubik.annotations.route.RRoute
@RCallback
interface CallbackTestInterface {
@RCallback
fun callbackInt(i:Int)
@RCallback
fun callbackBean(bean:TestDataBean)
@RCallback
fun callbackBeanReBean(bean:TestDataBean?)
}
@RRoute(path = "do-sth-callback-object")
fun doSthCallbackObject(callback: CallbackTestInterface) {
println(" AP DBG DETAIL doSthCallbackObject begin this:${callback.hashCode()} !!!")
callback.callbackInt(11)
callback.callbackBean(TestDataBean(23, "sdsd"))
callback.callbackBeanReBean(TestDataBean(24, "dfdf"))
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/event/Events.kt
================================================
package com.mars.component.detail.event
import android.content.Context
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.context.REvent
import com.rubik.annotations.route.RInstance
import com.rubik.annotations.route.RResult
import com.rubik.context.LifeCycleEvent
data class EventsWithLambda(
@REvent(msg = LifeCycleEvent.INIT)
val init: () -> Unit = {
println(" CT DBG init DETAIL EventsWithLambda begin !!! !!!")
initSdk()
},
@REvent(msg = LifeCycleEvent.DESTROY)
val destroy: () -> Unit = {
println(" CT DBG destroy DETAIL EventsWithLambda begin !!!")
}
)
class Events {
@REvent(msg = LifeCycleEvent.INIT)
fun onInit(context: Context, parameter1: String) {
println(" CT DBG init DETAIL Events begin :${context.hashCode()} parameter1:$parameter1!!!")
initSdk()
}
@REvent(msg = LifeCycleEvent.DESTROY)
fun onDestroy(context: Context, parameter1: String) {
println(" CT DBG destroy DETAIL Events begin :${context.hashCode()} parameter1:$parameter1!!!")
}
}
class EventsByInstance {
@REvent(msg = "MY_INIT", tag = "events-by-instance")
fun onInit(arg1: Any, arg2: Any, arg3: Any) {
println(" CT DBG MY_INIT DETAIL:${hashCode()} arg1:$arg1 arg2:$arg2 arg3:$arg3 EventsByInstance begin !!!")
initSdk()
}
@REvent(msg = "MY_DESTROY", tag = "events-by-instance")
fun onDestroy(arg1: Any, arg2: Any, arg3: Any) {
println(" CT DBG MY_DESTROY DETAIL:${hashCode()} arg1:$arg1 arg2:$arg2 arg3:$arg3 EventsByInstance begin !!!")
}
@REvent(msg = "MY_CALLBACK_RES", tag = "events-by-instance")
fun onCallbackRes(arg1: Any, @RResult result: (Int) -> Unit) {
println(" CT DBG MY_CALLBACK DETAIL:${hashCode()} arg1:$arg1 result:$result EventsByInstance begin !!!")
}
@REvent(msg = "MY_CALLBACK_RES_BEAN", tag = "events-by-instance")
fun onCallbackResBean(arg1: Any, @RResult result: (TestDataBean) -> Unit) {
println(" CT DBG MY_CALLBACK_RES_BEAN DETAIL:${hashCode()} arg1:$arg1 result:$result EventsByInstance begin !!!")
}
@REvent(msg = "MY_CALLBACK_BEAN", tag = "events-by-instance")
fun onCallbackBean(arg1: Any, bean: TestDataBean) {
println(" CT DBG MY_CALLBACK_BEAN DETAIL:${hashCode()} arg1:$arg1 result:$bean EventsByInstance begin !!!")
}
}
fun initSdk() {
println(" CT DBG initSdk begin !!!")
}
private val life = EventsByInstance()
@RInstance(provideForTag = "events-by-instance")
@RInstance(provideForTag = "events-by-instance")
fun provideEventsInstance(bool: Boolean) = life
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/objekt/ObjectTest.kt
================================================
package com.mars.component.detail.objekt
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RObject
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.function.RFunction
@RObject
class ObjectTest(val value: String) {
@RRoute(path = "do-sth-in-common-instance")
fun doSthInObject(): TestDataBean {
println(" AP DBG DETAIL doSthProvideObject begin this:${this.hashCode()} value:$value!!!")
return TestDataBean(645, "ahr")
}
@RRoute(path = "do-sth-in-common-instance-parameter")
fun doSthInObject2(v1: String, v2: Int?, v3: Int?) {
println(" AP DBG DETAIL doSthProvideObject2 begin this:${this.hashCode()} value:$value " +
"v1:$v1 v2:$v2 v3:$v3 :!!!")
}
@RFunction(path = "object/get/do-sth-in-common-ins")
fun doSthInObject3(v1: String, v2: Int?, v3: Int?) {
println(" AP DBG DETAIL doSthProvideObject3 begin this:${this.hashCode()} value:$value " +
"v1:$v1 v2:$v2 v3:$v3 :!!!")
}
}
// get and send
@RRoute(path = "get-a-other-common-instance")
fun getAOtherObjectTest(i: Int) :ObjectTest= ObjectTest("x1x").apply {
println(" AP DBG DETAIL getAOtherObjectTestDa ${hashCode()} value:$value")
}
@RRoute(path = "send-back-common-instance")
fun senBackObjectTest(obj: ObjectTest) {
println(" AP DBG DETAIL senBackObjectTest ${obj.hashCode()} value:${obj?.value}")
}
@RFunction(path = "get-a-lot-of-common-instance")
fun getALotOfObjectTest(i: Int):List<ObjectTest> = mutableListOf(
ObjectTest("yy1").apply {
println(" AP DBG DETAIL getALotOfObjectTest 1 ${hashCode()} value:$value")
},
ObjectTest("yy2").apply {
println(" AP DBG DETAIL getALotOfObjectTest 2 ${hashCode()} value:$value")
},
ObjectTest("yy3").apply {
println(" AP DBG DETAIL getALotOfObjectTest 3 ${hashCode()} value:$value")
})
@RFunction(path = "send-back-a-lot-of-common-instance")
fun senBackALotOfObjectTest(objs: Map<String, ObjectTest>) {
objs.forEach { (key, value) ->
println(" AP DBG DETAIL senBackALotOfObjectTest ${value.hashCode()} value:${value?.value} key:$key")
}
}
@RRoute(path = "get-a-other-common-instance-null")
fun getAOtherObjectTestNull(i: Int) :ObjectTest?= ObjectTest("x1x").apply {
println(" AP DBG DETAIL getAOtherObjectTestNull ${hashCode()} value:$value")
}
@RRoute(path = "send-back-common-instance-null")
fun senBackObjectTestNull(obj: ObjectTest?) {
println(" AP DBG DETAIL senBackObjectTestNull ${obj.hashCode()} value:${obj?.value}")
}
@RFunction(path = "get-a-lot-of-common-instance-null")
fun getALotOfObjectTestNull(i: Int):List<ObjectTest?>? = mutableListOf(
ObjectTest("yy1").apply {
println(" AP DBG DETAIL getALotOfObjectTestNull 0 ${hashCode()} value:$value")
},
ObjectTest("yy2").apply {
println(" AP DBG DETAIL getALotOfObjectTestNull 1 ${hashCode()} value:$value")
},
ObjectTest("yy3").apply {
println(" AP DBG DETAIL getALotOfObjectTestNull 2 ${hashCode()} value:$value")
})
@RFunction(path = "send-back-a-lot-of-common-instance-null")
fun senBackALotOfObjectTesNull(objs: Map<String?, ObjectTest?>?) {
objs?.forEach { (key, value) ->
println(" AP DBG DETAIL senBackALotOfObjectTesNull ${value.hashCode()} value:${value?.value} key:$key")
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/objekt/ObjectTestCteate.kt
================================================
package com.mars.component.detail.objekt
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RObject
import com.rubik.annotations.route.RRoute
class ObjectTestCreate
@RObject
constructor(
val v1: Int, val v2: String
) {
@RObject
constructor(
v1: Int,
v2: Int,
v3: Int,
v4: Int
) : this(v1, v1.toString())
@RRoute(path = "do-sth-create-common-instance")
fun doSthInCreateObject(): TestDataBean {
println(" AP DBG DETAIL doSthInCreateObject begin this:${this.hashCode()} value:$v2!!!")
return TestDataBean(985, "gds")
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestDataTypeTask.kt
================================================
package com.mars.component.detail.test
import android.content.Context
import com.mars.component.detail.value.TestNullableBean
import com.rubik.annotations.route.RResult
import com.rubik.annotations.route.RRoute
class TestDataTypeTask {
@RRoute(path = "doTestDataType1", forResult = true)
fun doTestDataType1(data: Context?): Context? {
println(" AP DBG doTestDataType1 Context !!!")
return data
}
@RRoute(path = "doTestDataType2", forResult = true)
fun doTestDataType2(data: Int?): Int? {
println(" AP DBG doTestDataType2 Int !!!")
return data
}
@RRoute(path = "doTestDataType3", forResult = true)
fun doTestDataType3(data: String?): String? {
println(" AP DBG doTestDataType3 String !!!")
return data
}
@RRoute(path = "doTestDataType4", forResult = true)
fun doTestDataType4(data: TestNullableBean?): TestNullableBean? {
println(" AP DBG doTestDataType4 A1Bean!!!")
return data
}
@RRoute(path = "doTestDataType5", forResult = true)
fun doTestDataType5(data: List<String>?): List<String>? {
println(" AP DBG doTestDataType5 List<String>!!!")
return data
}
@RRoute(path = "doTestDataType6", forResult = true)
fun doTestDataType6(data: Array<Long>?): Array<Long>? {
println(" AP DBG doTestDataType7 Array<Long> !!!")
return data
}
@RRoute(path = "doTestDataType7", forResult = true)
fun doTestDataType7(data: LongArray?): LongArray? {
println(" AP DBG doTestDataType6 LongArray !!!")
return data
}
@RRoute(path = "doTestDataType8", forResult = true)
fun doTestDataType8(data: IntArray?): IntArray? {
println(" AP DBG doTestDataType8 IntArray !!!")
return data
}
@RRoute(path = "doTestDataType9", forResult = true)
fun doTestDataType9(data: BooleanArray?): BooleanArray? {
println(" AP DBG doTestDataType9 BooleanArray !!!")
return data
}
@RRoute(path = "doTestDataType10")
fun doTestDataType10(resultSuccess: (Int) -> Unit, resultSuccess2: (String) -> Unit) {
println(" AP DBG HOF doTestDataType10 C1Bean HOF !!")
resultSuccess.invoke(300)
resultSuccess2.invoke("res-sus-10")
}
@RRoute(path = "doTestDataType11")
fun doTestDataType11(
@RResult resultSuccess: (Int, TestNullableBean) -> Unit,
@RResult resultSuccess2: (TestNullableBean?) -> Unit
) {
println(" AP DBG HOF doTestDataType11 C1Bean HOF !!")
resultSuccess.invoke(400, TestNullableBean(null, "res-sus-11"))
Thread().run {
Thread.sleep(500)
resultSuccess2.invoke(null)
}
}
@RRoute(path = "doTestDataType13", forResult = true)
fun doTestDataType13(data: List<Int?>): List<Int?> {
println(" AP DBG doTestDataType13 List<Int?>!!!")
return data
}
@RRoute(path = "doTestDataType14", forResult = true)
fun doTestDataType14(data: ArrayList<Int?>): ArrayList<Int?> {
println(" AP DBG doTestDataType14 ArrayList<Int?>!!!")
return data
}
@RRoute(path = "doTestDataType15", forResult = true)
fun doTestDataType15(data: List<TestNullableBean?>): List<TestNullableBean?> {
println(" AP DBG doTestDataType15 List<C1Bean?>!!!")
return data
}
@RRoute(path = "doTestDataType16", forResult = true)
fun doTestDataType16(data: ArrayList<TestNullableBean?>): ArrayList<TestNullableBean?> {
println(" AP DBG doTestDataType16 ArrayList<C1Bean?>!!!")
return data
}
@RRoute(path = "doTestDataType17", forResult = true)
fun doTestDataType17(data: List<String?>): List<String?> {
println(" AP DBG doTestDataType17 List<String?>!!!")
return data
}
@RRoute(path = "doTestDataType18", forResult = true)
fun doTestDataType18(data: ArrayList<String?>): ArrayList<String?> {
println(" AP DBG doTestDataType18 ArrayList<String?>!!!")
return data
}
@RRoute(path = "doTestDataType19", forResult = true)
fun doTestDataType19(data: ArrayList<Pair<String?, Int?>>): ArrayList<Pair<String?, Int?>> {
println(" AP DBG doTestDataType19 ArrayList<Pair<String?,Int?>>!!!")
return data
}
@RRoute(path = "doTestDataType20", forResult = true)
fun doTestDataType20(media: Pair<Long?, String?>): List<String>?{
return null
}
@RRoute(path = "doTestDataType21", forResult = true)
fun doTestDataType21(data: List<TestNullableBean>): List<TestNullableBean> {
println(" AP DBG doTestDataType21 List<TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType22", forResult = true)
fun doTestDataType22(data: MutableList<TestNullableBean>): MutableList<TestNullableBean> {
println(" AP DBG doTestDataType22 MutableList<TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType23", forResult = true)
fun doTestDataType23(data: Array<TestNullableBean>): Array<TestNullableBean> {
println(" AP DBG doTestDataType23 Array<TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType24", forResult = true)
fun doTestDataType24(data: Map<String, TestNullableBean>): Map<String, TestNullableBean> {
println(" AP DBG doTestDataType24 Map<String, TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType25", forResult = true)
fun doTestDataType25(data: MutableMap<String, TestNullableBean>): MutableMap<String, TestNullableBean> {
println(" AP DBG doTestDataType25 MutableMap<String, TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType26", forResult = true)
fun doTestDataType26(data: Set<TestNullableBean>): Set<TestNullableBean> {
println(" AP DBG doTestDataType26 ASet<TestNullableBean>!!!")
return data
}
@RRoute(path = "doTestDataType27", forResult = true)
fun doTestDataType27(data: MutableSet<TestNullableBean>): MutableSet<TestNullableBean> {
println(" AP DBG doTestDataType27 MutableSet<TestNullableBean>!!!")
return data
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestDefaultPathTask.kt
================================================
package com.mars.component.detail.test
import android.app.Activity
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.function.RFunction
import kotlin.reflect.jvm.internal.impl.load.kotlin.JvmType
class TestDefaultPathTask {
@RFunction
fun testName(){
}
@RFunction
fun TEST_NAME_UP(){
}
@RFunction
val testNameString = ""
@RRoute(forResult = false,resultType = Any::class)
constructor()
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestGenericityTask.kt
================================================
package com.mars.component.detail.test
import androidx.lifecycle.LiveData
import com.mars.component.detail.value.TestNullableBean
import com.rubik.annotations.route.RRoute
@RRoute(path = "doTestGenericity1", forResult = true)
fun doTestGenericity1(data: List<TestNullableBean?>?): List<TestNullableBean?>? {
println(" AP DBG doTestGenericity1 Context !!!")
return data
}
@RRoute(path = "doTestGenericity2", forResult = true)
fun doTestGenericity2(data: LiveData<TestNullableBean?>?): LiveData<TestNullableBean?>? {
println(" AP DBG doTestGenericity2 Context !!!")
return data
}
@RRoute(path = "doTestGenericity3", forResult = true)
fun doTestGenericity3(data: Map<String, Long?>): Map<String, Long?> {
println(" AP DBG doTestGenericity3 Context !!!")
return data
}
class TestGenericityTask {
@RRoute(path = "testGenericity4", forResult = true)
val testGenericity4: List<String?> = listOf()
@RRoute(path = "testGenericity5", forResult = true)
val testGenericity5: (List<String?>?) -> List<String?>? = {
println(" AP DBG testGenericity5 Context !!!")
it
}
@RRoute(path = "doTestGenericity6", forResult = true)
fun doTestGenericity6(data: Array<TestNullableBean?>?): Array<TestNullableBean?>? {
println(" AP DBG doTestGenericity6 Context !!!")
return data
}
companion object {
@RRoute(path = "doTestGenericity7", forResult = true)
fun doTestGenericity7(data: Array<Long?>?): Array<Long?>? {
println(" AP DBG doTestGenericity7 Context !!!")
return data
}
}
}
@RRoute(path = "doTestGenericity8")
fun doTestGenericity8(resultSuccess: (ArrayList<String>) -> Unit){
println(" AP DBG doTestGenericity8 Context !!!")
}
@RRoute(path = "doTestGenericity9")
fun doTestGenericity9(resultSuccess: (List<String>) -> Unit){
println(" AP DBG doTestGenericity9 Context !!")
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/FirstPageActivity.kt
================================================
package com.mars.component.detail.ui
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.mars.component.detail.R
import com.mars.component.detail.value.TestCompanionBean
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RProperty
import com.rubik.annotations.route.page.RPage
import com.rubik.router.property
import kotlinx.android.synthetic.main.activity_a1.*
@RPage(path = "activity/page1")
@RPage(path = "activity/page1_from_home")
@RPage(path = "activity/page1_from_detail")
class FirstPageActivity : AppCompatActivity() {
@RProperty(name = "key_int_for_home", forPath = ["activity/page1_from_home"])
private var intForA1b: Int? = null
get() = property("key_int_for_home")
@RProperty(name = "key_int_for_detail", forPath = ["activity/page1_from_detail"])
private var intForA1c: Int? = null
get() = property("key_int_for_detail")
@RProperty(name = "key_int_for_all", forPath = ["activity/page1_from_home", "activity/page1_from_detail"])
private var intForAll: Int? = null
get() = property("key_int_for_all")
@get:RProperty(name = "key_3_int")
private val inta: Int
get() = property("key_3_int") ?: -1
@get:RProperty(name = "uri")
private val str: String?
get() = property("uri")
@get:RProperty(name = "key_4_strs", extra = "serializable")
private val strs: List<String>?
get() = property("key_4_strs")
@get:RProperty(name = "key_a_ints")
private val ints: List<Int>?
get() = property("key_a_ints")
private var aints: ArrayList<Int>? = null
get() = property("key_a_ints")
@RProperty(name = "key_5_bean")
private var bean: TestDataBean? = null
get() = property("key_5_bean")
@RProperty(name = "key_1_pa")
private var pa: TestCompanionBean? = null
get() = property("key_1_pa")
@RProperty(name = "key_2_pa_ar")
private var paAr: Array<TestCompanionBean>? = null
get() = property("key_2_pa_ar")
@RProperty(name = "key_c_pa_li")
private var paLi: List<TestCompanionBean>? = null
get() = property("key_c_pa_li")
// @RProperty(name = "key_pa_p")
// private var paP: A3Bean? = null
// get() = parcelableProperties("key_pa_p")
//
// @RProperty(name = "key_pa_ar_p")
// private var paArP: Array<A3Bean>? = null
// get() = parcelableArrayProperties("key_pa_ar_p")
//
// @RProperty(name = "key_pa_li_p")
// private var paLiP: List<A3Bean>? = null
// get() = parcelableListProperties("key_pa_li_p")
//
// @RProperty(name = "key_ser")
// private var ser: A4Bean? = null
// get() = serializablProperties("key_ser")
override fun onCreate(savedInstanceState: Bundle?) {
println(" CT DBG TEST FirstPageActivity onCreate !!!")
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_a1)
val msg = "Hello FirstPageActivity !!\n" +
"$inta\n" +
"$str\n" +
"$strs\n" +
"$ints\n" +
"$aints\n" +
"${bean?.d1}\n" +
"${pa?.d1}\n" +
"${paAr?.get(0)?.d1}\n" +
"${paLi?.get(0)?.d1}\n"
// "$ser\n"
// "${paP?.b1}\n" +
// "${paArP?.get(0)?.b1}\n" +
// "${paLiP?.get(0)?.b1}\n"
text_hello.text = msg
}
}
//@RRoute(path = "notActivity2")
//class NotActivity(val b :TestClassB){
//}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/FirstPageFragment.kt
================================================
package com.mars.component.detail.ui
import androidx.fragment.app.Fragment
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.function.RFunction
class FirstPageFragment
@RFunction(
path = "fragment/page1",
resultType = Fragment::class
)
constructor() : Fragment() {
val name = "FirstPageFragment"
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/SecondPageActivity.kt
================================================
package com.mars.component.detail.ui
import android.content.Intent
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.mars.component.detail.R
import com.rubik.annotations.route.RProperty
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.page.RPage
import com.rubik.router.property
import kotlinx.android.synthetic.main.activity_a1.*
@RPage(path = "activity/page2/{key_str1}/{key_str2}/{key_str3}")
class SecondPageActivity : AppCompatActivity() {
@RProperty(name = "key_str1")
private var str1: String? = null
get() = property("key_str1")
@RProperty(name = "key_str2")
private var str2: String? = null
get() = property("key_str2")
@RProperty(name = "key_str3")
private var str3: String? = null
get() = property("key_str3")
override fun onCreate(savedInstanceState: Bundle?) {
println(" CT DBG TEST SecondPageActivity onCreate !!!")
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_a1)
val msg = "Hello SecondPageActivity !!\n" +
"$str1\n" +
"$str2\n" +
"$str3\n"
text_hello.text = msg
setResult(200, Intent().apply { putExtra("data", "data from A2") })
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestCompanionBean.kt
================================================
package com.mars.component.detail.value
import com.rubik.annotations.route.RValue
@RValue
data class TestCompanionBean(val d1: Int, val d2: String) {
companion object {
const val C1 = 33
const val C2 = "CONST_COMP"
const val C3: Float = 0.1F
}
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestCreateBean.kt
================================================
package com.mars.component.detail.value
import com.google.gson.annotations.SerializedName
import com.rubik.annotations.route.RRoute
import com.rubik.annotations.route.RValue
@RValue
data class TestCreateBean @RRoute(
path = "test-bean/create"
) constructor(
@SerializedName("data1")
val d1: Int?,
@SerializedName("data2")
val d2: String?
)
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestDataBean.kt
================================================
package com.mars.component.detail.value
import com.rubik.annotations.route.RValue
import com.google.gson.annotations.SerializedName
@RValue
data class TestDataBean(@SerializedName("data1") val d1: Int?, @SerializedName("data2") val d2: String?)
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestDataNotRValueBean.kt
================================================
package com.mars.component.detail.value
import com.rubik.annotations.route.RValue
import com.google.gson.annotations.SerializedName
data class TestDataNotRValueBean(@SerializedName("data1") val d1: Int?, @SerializedName("data2") val d2: String?)
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestListBean.kt
================================================
package com.mars.component.detail.value
import com.rubik.annotations.route.RValue
import com.google.gson.annotations.SerializedName
@RValue
data class TestListBean(@SerializedName("data1") val d1: Int, val d2: List<String>?) {
constructor(b1: Int) : this(b1, listOf())
}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestNullableBean.kt
================================================
package com.mars.component.detail.value
import com.google.gson.annotations.SerializedName
import com.rubik.annotations.route.RValue
@RValue
data class TestNullableBean(@SerializedName("ddd111") val d1: Int?, @SerializedName("ddd222") val d2: String?)
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestOriginalBean.kt
================================================
package com.mars.component.detail.value
import java.io.Serializable
import com.rubik.annotations.source.ROriginalValue
@ROriginalValue
data class TestOriginalBean (val d1:Int, val d2:String): Serializable
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestParcelizeBean.kt
================================================
package com.mars.component.detail.value
import android.os.Parcel
import android.os.Parcelable
import com.google.gson.annotations.SerializedName
import com.rubik.annotations.route.RValue
import kotlinx.android.parcel.Parcelize
@RValue
@Parcelize
data class TestParcelizeBean(
val d1: Int?,
val d2: String?
) : Parcelable
//{
// constructor(parcel: Parcel) : this(
// parcel.readInt(),
// parcel.readString()
// )
// override fun describeContents(): Int {
// return 0
// }
//
// override fun writeToParcel(dest: Parcel?, flags: Int) {
// dest?.writeInt(d1 ?: -1)
// dest?.writeString(d2)
// }
//
// companion object CREATOR : Parcelable.Creator<TestParcelizeBean> {
// override fun createFromParcel(parcel: Parcel): TestParcelizeBean {
// return TestParcelizeBean(parcel)
// }
//
// override fun newArray(size: Int): Array<TestParcelizeBean?> {
// return arrayOfNulls(size)
// }
// }
//}
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestSerializableBean.kt
================================================
package com.mars.component.detail.value
import com.google.gson.annotations.SerializedName
import com.rubik.annotations.route.RValue
import java.io.Serializable
@RValue
data class TestSerializableBean(
@SerializedName("data1") val d1: Int?,
@SerializedName("data2") val d2: String?
):Serializable
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/mapping/TestDataMappingBean.kt
================================================
package com.mars.component.detail.value.mapping
import com.google.gson.annotations.SerializedName
import com.rubik.annotations.route.RValue
data class TestDataMappingBean @RValue constructor(
@SerializedName("data1") val d1: Int?,
@SerializedName("data2")
val d2: String?
)
================================================
FILE: demo/demo_component_detail/src/main/java/com/mars/component/detail/value/mapping/TestNestDataMappingBean.kt
================================================
package com.mars.component.detail.value.mapping
import com.mars.component.detail.value.TestDataBean
import com.rubik.annotations.route.RValue
data class TestNestDataMappingBean @RValue constructor(
val d1: TestDataBean?,
val d2: TestDataMappingBean?,
val d3: TestNestDataMappingBean?,
val d4: List<TestDataBean>?,
val d5: List<TestDataMappingBean>?
)
================================================
FILE: demo/demo_component_detail/src/main/ra/rubik/generate/aggregate/demo_com_mars_rubik_test_detail/DetailAggregate.kt
================================================
package rubik.generate.aggregate.demo_com_mars_rubik_test_detail
import android.app.Activity
import android.content.Context
import android.os.ResultReceiver
import android.view.View
import androidx.annotation.Keep
import androidx.fragment.app.Fragment
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.ViewModelStoreOwner
import com.mars.component.detail.api.AipsInCompanion
import com.mars.component.detail.api.ApiSerialization
import com.mars.component.detail.api.Apis
import com.mars.component.detail.api.ApisAsyncReturn
import com.mars.component.detail.api.ApisBadCase
import com.mars.component.detail.api.ApisBigData
import com.mars.component.detail.api.ApisWithLiveData
import com.mars.component.detail.api.ApisWithResultReceiver
import com.mars.component.detail.api.BeanCallbackable
import com.mars.component.detail.api.Callback
import com.mars.component.detail.api.Callbackable
import com.mars.component.detail.api.GetFileMetaCallback
import com.mars.component.detail.api.MultiCallback
import com.mars.component.detail.api.Task
import com.mars.component.detail.event.Events
import com.mars.component.detail.event.EventsWithLambda
import com.mars.component.detail.test.TestDataTypeTask
import com.mars.component.detail.test.TestDefaultPathTask
import com.mars.component.detail.test.TestGenericityTask
import com.mars.component.detail.ui.FirstPageActivity
import com.mars.component.detail.ui.FirstPageFragment
import com.mars.component.detail.ui.SecondPageActivity
import com.rubik.annotations.source.RAggregate
import com.rubik.annotations.source.RGenerated
import com.rubik.context.Aggregatable
import com.rubik.context.AggregateFactory
import com.rubik.identity.RAggregateId
import com.rubik.route.mapping.castToTypeOfT
import com.rubik.route.mapping.mapToType
import com.rubik.route.mapping.toTypeOfT
import kotlin.Any
import kotlin.Array
import kotlin.BooleanArray
import kotlin.Function0
import kotlin.Function1
import kotlin.Function2
import kotlin.Function3
import kotlin.Function5
import kotlin.Int
import kotlin.IntArray
import kotlin.Long
import kotlin.LongArray
import kotlin.Pair
import kotlin.String
import kotlin.Unit
import kotlin.collections.ArrayList
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.collections.Set
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toCallbackTestInterfaceOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableObjectTestCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableObjectTestOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableTestDataMappingBeanCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableTestDataMappingBeanOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableTestNestDataMappingBeanCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toNullableTestNestDataMappingBeanOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toObjectTestCreateCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toObjectTestCreateOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toObjectTestCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toObjectTestOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toTestDataMappingBeanCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toTestDataMappingBeanOrgMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toTestNestDataMappingBeanCtxMapping
import rubik.generate.aggregate.demo_com_mars_rubik_test_detail.DetailAggregate.Mappings.toTestNestDataMappingBeanOrgMapping
import rubik.generate.context.demo_com_mars_rubik_test_detail.DetailRouteActions
import com.mars.component.detail.callback.CallbackTestDefault as CallbackTestDefaultOrg
import com.mars.component.detail.callback.CallbackTestInterface as CallbackTestInterfaceOrg
import com.mars.component.detail.objekt.ObjectTestCreate as ObjectTestCreateOrg
import com.mars.component.detail.objekt.ObjectTest as ObjectTestOrg
import com.mars.component.detail.value.TestCompanionBean as TestCompanionBeanOrg
import com.mars.component.detail.value.TestCreateBean as TestCreateBeanOrg
import com.mars.component.detail.value.TestDataBean as TestDataBeanOrg
import com.mars.component.detail.value.TestListBean as TestListBeanOrg
import com.mars.component.detail.value.TestNullableBean as TestNullableBeanOrg
import com.mars.component.detail.value.TestParcelizeBean as TestParcelizeBeanOrg
import com.mars.component.detail.value.TestSerializableBean as TestSerializableBeanOrg
import com.mars.component.detail.value.mapping.TestDataMappingBean as TestDataMappingBeanOrg
import com.mars.component.detail.value.mapping.TestNestDataMappingBean as TestNestDataMappingBeanOrg
import com.rubik.activity.Launcher as RubikLauncher
import com.rubik.route.Queries as RubikQueries
import com.rubik.route.ResultGroups as RubikResultGroups
import com.rubik.route.Result as RubikResult
import com.rubik.router.uri.Path as RubikPath
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestCompanionBean as TestCompanionBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestCreateBean as TestCreateBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean as TestDataBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataMappingBean as TestDataMappingBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestListBean as TestListBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestNestDataMappingBean as TestNestDataMappingBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean as TestNullableBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean as TestParcelizeBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.TestSerializableBean as TestSerializableBeanCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.callback.CallbackTestDefault as CallbackTestDefaultCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.callback.CallbackTestInterface as CallbackTestInterfaceCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTestCreate as ObjectTestCreateCtx
import rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest as ObjectTestCtx
/**
* aggregate router function and router event of Rubik Context.
*
* uri: [demo://com.mars.rubik-test.detail]
* version: 0.0.1-DEV
*/
@RGenerated(
kind = "aggregate",
by = "rubik-kapt:1.10.0.0-K1_5-LOCAL",
version = "0.0.1-DEV"
)
@Keep
class DetailAggregate : Aggregatable, DetailRouteActions {
override fun onEvent(msg: String, queries: RubikQueries) {
when (msg){
"MY_INIT" -> {
// com.mars.component.detail.event.EventsByInstance.onInit
// - parameters:
// --- arg1 : kotlin.Any
// --- arg2 : kotlin.Any
// --- arg3 : kotlin.Any
// - resultType:
// --- null
val rubikInstanceBool = queries.value(0, null)
val arg1 = queries.value(1, null)
val arg2 = queries.value(2, null)
val arg3 = queries.value(3, null)
com.mars.component.detail.event.provideEventsInstance(
rubikInstanceBool.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Boolean] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.event.EventsByInstance] */ .onInit(
arg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
arg2.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
arg3.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */
)}
"MY_DESTROY" -> {
// com.mars.component.detail.event.EventsByInstance.onDestroy
// - parameters:
// --- arg1 : kotlin.Any
// --- arg2 : kotlin.Any
// --- arg3 : kotlin.Any
// - resultType:
// --- null
val rubikInstanceBool = queries.value(0, null)
val arg1 = queries.value(1, null)
val arg2 = queries.value(2, null)
val arg3 = queries.value(3, null)
com.mars.component.detail.event.provideEventsInstance(
rubikInstanceBool.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Boolean] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.event.EventsByInstance] */ .onDestroy(
arg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
arg2.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
arg3.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */
)}
"MY_CALLBACK_RES" -> {
// com.mars.component.detail.event.EventsByInstance.onCallbackRes
// - parameters:
// --- arg1 : kotlin.Any
// --- result : kotlin.Function1<kotlin.Int, kotlin.Unit>
// - resultType:
// --- null
val rubikInstanceBool = queries.value(0, null)
val arg1 = queries.value(1, null)
val resultCallback = queries.value(2, null)
com.mars.component.detail.event.provideEventsInstance(
rubikInstanceBool.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Boolean] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.event.EventsByInstance] */ .onCallbackRes(
arg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
resultCallback.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Function1<kotlin.Int, kotlin.Unit>] */
)}
"MY_CALLBACK_RES_BEAN" -> {
// com.mars.component.detail.event.EventsByInstance.onCallbackResBean
// - parameters:
// --- arg1 : kotlin.Any
// --- result : kotlin.Function1<com.mars.component.detail.value.TestDataBean, kotlin.Unit>
// - resultType:
// --- null
val rubikInstanceBool = queries.value(0, null)
val arg1 = queries.value(1, null)
val resultCallback = queries.value(2, null).castToTypeOfT<Function1<TestDataBeanCtx, Unit>>()
val resultCallbackCallbackTransformer: (Any?) -> Unit = { lambdaArg0 ->
resultCallback(
lambdaArg0.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)}
com.mars.component.detail.event.provideEventsInstance(
rubikInstanceBool.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Boolean] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.event.EventsByInstance] */ .onCallbackResBean(
arg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
resultCallbackCallbackTransformer.castToTypeOfT()
)}
"MY_CALLBACK_BEAN" -> {
// com.mars.component.detail.event.EventsByInstance.onCallbackBean
// - parameters:
// --- arg1 : kotlin.Any
// --- bean : com.mars.component.detail.value.TestDataBean
// - resultType:
// --- null
val rubikInstanceBool = queries.value(0, null)
val arg1 = queries.value(1, null)
val bean = queries.value(2, null)
com.mars.component.detail.event.provideEventsInstance(
rubikInstanceBool.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Boolean] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.event.EventsByInstance] */ .onCallbackBean(
arg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Any] */ ,
bean.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestDataBean] */
)}
"LifeCycleEvent_Init" -> {
// com.mars.component.detail.event.EventsWithLambda.init
// - resultType:
// --- kotlin.Unit
EventsWithLambda().init() /* -> NO NEED TO MAPPING :[kotlin.Unit] */ // com.mars.component.detail.event.Events.onInit
// - parameters:
// --- context : android.content.Context
// --- parameter1 : kotlin.String
// - resultType:
// --- null
val context = queries.value(0, null)
val parameter1 = queries.value(1, null)
Events().onInit(
context.castToTypeOfT() /* -> NO NEED TO MAPPING :[android.content.Context] */ ,
parameter1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */
)}
"LifeCycleEvent_Destroy" -> {
// com.mars.component.detail.event.EventsWithLambda.destroy
// - resultType:
// --- kotlin.Unit
EventsWithLambda().destroy() /* -> NO NEED TO MAPPING :[kotlin.Unit] */ // com.mars.component.detail.event.Events.onDestroy
// - parameters:
// --- context : android.content.Context
// --- parameter1 : kotlin.String
// - resultType:
// --- null
val context = queries.value(0, null)
val parameter1 = queries.value(1, null)
Events().onDestroy(
context.castToTypeOfT() /* -> NO NEED TO MAPPING :[android.content.Context] */ ,
parameter1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */
)}
else -> { }
}
}
override fun onRoute(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"doTestGenericity7" == path -> {
val data = queries.value(0, null)
doTestGenericity7(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"testGenericity4" == path -> {
testGenericity4().apply {
results.set(0, RubikResult(this))
}
}
"testGenericity5" == path -> {
val lambdaArg0 = queries.value(0, "lambdaArg0")
testGenericity5(lambdaArg0.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestGenericity6" == path -> {
val data = queries.value(0, null)
doTestGenericity6(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestGenericity1" == path -> {
val data = queries.value(0, null)
doTestGenericity1(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestGenericity2" == path -> {
val data = queries.value(0, null)
doTestGenericity2(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestGenericity3" == path -> {
val data = queries.value(0, null)
doTestGenericity3(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestGenericity8" == path -> {
val resultSuccessCallback = queries.value(0, null)
doTestGenericity8(resultSuccessCallback.castToTypeOfT())
}
"doTestGenericity9" == path -> {
val resultSuccessCallback = queries.value(0, null)
doTestGenericity9(resultSuccessCallback.castToTypeOfT())
}
"create-test-default-path-task-instance" == path -> {
val routeResultTransformer: (Any) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
createTestDefaultPathTaskInstance(routeResultTransformer)
}
"doTestDataType1" == path -> {
val data = queries.value(0, null)
doTestDataType1(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType2" == path -> {
val data = queries.value(0, null)
doTestDataType2(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType3" == path -> {
val data = queries.value(0, null)
doTestDataType3(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType4" == path -> {
val data = queries.value(0, null)
doTestDataType4(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType5" == path -> {
val data = queries.value(0, null)
doTestDataType5(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
else -> { onRouteExt1(path, queries, results) }
}
}
private fun onRouteExt1(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"doTestDataType6" == path -> {
val data = queries.value(0, null)
doTestDataType6(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType7" == path -> {
val data = queries.value(0, null)
doTestDataType7(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType8" == path -> {
val data = queries.value(0, null)
doTestDataType8(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType9" == path -> {
val data = queries.value(0, null)
doTestDataType9(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType10" == path -> {
val resultSuccessCallback = queries.value(0, null)
val resultSuccess2Callback = queries.value(1, null)
doTestDataType10(resultSuccessCallback.castToTypeOfT(), resultSuccess2Callback.castToTypeOfT())
}
"doTestDataType11" == path -> {
val resultSuccessCallback: (Int, TestNullableBeanCtx) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
val resultSuccess2Callback: (TestNullableBeanCtx?) -> Unit = { lambdaArg0 ->
results.set(1, RubikResult(lambdaArg0))
}
doTestDataType11(resultSuccessCallback, resultSuccess2Callback)
}
"doTestDataType13" == path -> {
val data = queries.value(0, null)
doTestDataType13(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType14" == path -> {
val data = queries.value(0, null)
doTestDataType14(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType15" == path -> {
val data = queries.value(0, null)
doTestDataType15(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType16" == path -> {
val data = queries.value(0, null)
doTestDataType16(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType17" == path -> {
val data = queries.value(0, null)
doTestDataType17(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType18" == path -> {
val data = queries.value(0, null)
doTestDataType18(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType19" == path -> {
val data = queries.value(0, null)
doTestDataType19(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType20" == path -> {
val media = queries.value(0, null)
doTestDataType20(media.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType21" == path -> {
val data = queries.value(0, null)
doTestDataType21(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
else -> { onRouteExt2(path, queries, results) }
}
}
private fun onRouteExt2(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"doTestDataType22" == path -> {
val data = queries.value(0, null)
doTestDataType22(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType23" == path -> {
val data = queries.value(0, null)
doTestDataType23(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType24" == path -> {
val data = queries.value(0, null)
doTestDataType24(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType25" == path -> {
val data = queries.value(0, null)
doTestDataType25(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType26" == path -> {
val data = queries.value(0, null)
doTestDataType26(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"doTestDataType27" == path -> {
val data = queries.value(0, null)
doTestDataType27(data.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"test-bean/create" == path -> {
val d1 = queries.value(0, null)
val d2 = queries.value(1, null)
val routeResultTransformer: (TestCreateBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
testBeanCreate(d1.castToTypeOfT(), d2.castToTypeOfT(), routeResultTransformer)
}
"do-sth-in-common-instance" == path -> {
val objectInstance = queries.value(0, null)
val routeResultTransformer: (TestDataBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthInCommonInstance(objectInstance.castToTypeOfT(), routeResultTransformer)
}
"do-sth-in-common-instance-parameter" == path -> {
val objectInstance = queries.value(0, null)
val v1 = queries.value(1, null)
val v2 = queries.value(2, null)
val v3 = queries.value(3, null)
doSthInCommonInstanceParameter(objectInstance.castToTypeOfT(), v1.castToTypeOfT(), v2.castToTypeOfT(), v3.castToTypeOfT())
}
"do-sth-create-common-instance" == path -> {
val objectInstance = queries.value(0, null)
val routeResultTransformer: (TestDataBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthCreateCommonInstance(objectInstance.castToTypeOfT(), routeResultTransformer)
}
"get-a-other-common-instance" == path -> {
val i = queries.value(0, null)
val routeResultTransformer: (ObjectTestCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
getAOtherCommonInstance(i.castToTypeOfT(), routeResultTransformer)
}
"send-back-common-instance" == path -> {
val obj = queries.value(0, null)
sendBackCommonInstance(obj.castToTypeOfT())
}
"get-a-other-common-instance-null" == path -> {
val i = queries.value(0, null)
val routeResultTransformer: ((ObjectTestCtx?) -> Unit)? = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
getAOtherCommonInstanceNull(i.castToTypeOfT(), routeResultTransformer)
}
"send-back-common-instance-null" == path -> {
val obj = queries.value(0, null)
sendBackCommonInstanceNull(obj.castToTypeOfT())
}
"do-sth-ext" == path -> {
val i = queries.value(0, null)
val s = queries.value(1, null)
val routeResultTransformer: (Int) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthExt(i.castToTypeOfT(), s.castToTypeOfT(), routeResultTransformer)
}
else -> { onRouteExt3(path, queries, results) }
}
}
private fun onRouteExt3(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"doSthCompanion" == path -> {
val i = queries.value(0, null)
val j = queries.value(1, null)
val k = queries.value(2, null)
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthCompanion(i.castToTypeOfT(), j.castToTypeOfT(), k.castToTypeOfT(), routeResultTransformer)
}
"property/companion" == path -> {
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
propertyCompanion(routeResultTransformer)
}
"doSthHOFCompanion" == path -> {
val lambdaArg0 = queries.value(0, "lambdaArg0")
val routeResultTransformer: (Int) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthHOFCompanion(lambdaArg0.castToTypeOfT(), routeResultTransformer)
}
"2.0/do-sth-hof" == path -> {
val lambdaArg0 = queries.value(0, "lambdaArg0")
val lambdaArg1 = queries.value(1, "lambdaArg1")
val lambdaArg2 = queries.value(2, "lambdaArg2")
doSthHof(lambdaArg0.castToTypeOfT(), lambdaArg1.castToTypeOfT(), lambdaArg2.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"1.0/property/property" == path -> {
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
propertyProperty(routeResultTransformer)
}
"do-sth" == path -> {
doSth()
}
"view/get" == path -> {
val context = queries.value(0, null)
val routeResultTransformer: ((View?) -> Unit)? = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
viewGet(context.castToTypeOfT(), routeResultTransformer)
}
RubikPath("sth/{id}/a-{name}?code1={code1}&code2={code2}").matching(path) -> {
queries.addAll(RubikPath("sth/{id}/a-{name}?code1={code1}&code2={code2}").getParameters(path))
val id = queries.value(0, null)
val name = queries.value(1, null)
val code1 = queries.value(2, null)
val code2 = queries.value(3, null)
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
sthIdAName(id.castToTypeOfT(), name.castToTypeOfT(), code1.castToTypeOfT(), code2.castToTypeOfT(), routeResultTransformer)
}
RubikPath("sth-navigation-only/{uri}").matching(path) -> {
queries.addAll(RubikPath("sth-navigation-only/{uri}").getParameters(path))
val uriParameter = queries.value(0, null)
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
sthNavigationOnlyUri(uriParameter.castToTypeOfT(), routeResultTransformer)
}
"doSthVararg" == path -> {
val no = queries.value(0, null)
val varargString = queries.value(1, null)
doSthVararg(no.castToTypeOfT(), *varargString.castToTypeOfT())
}
"doSthVarargHof" == path -> {
val no = queries.value(0, null)
val varargString = queries.value(1, null)
doSthVarargHof(no.castToTypeOfT(), *varargString.castToTypeOfT())
}
"doSthBean" == path -> {
val a1 = queries.value(0, null)
val routeResultTransformer: (TestListBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthBean(a1.castToTypeOfT(), routeResultTransformer)
}
"do-sth-uri-crash" == path -> {
val name = queries.value(0, null)
val code = queries.value(1, null)
doSthUriCrash(name.castToTypeOfT(), code.castToTypeOfT())
}
"do-sth-uri-crash-by-name-code-version" == path -> {
val name = queries.value(0, null)
val code = queries.value(1, null)
val version = queries.value(2, null)
doSthUriCrashByNameCodeVersion(name.castToTypeOfT(), code.castToTypeOfT(), version.castToTypeOfT())
}
"doSthMappingBean" == path -> {
val a1 = queries.value(0, null)
val routeResultTransformer: (TestDataMappingBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthMappingBean(a1.castToTypeOfT(), routeResultTransformer)
}
else -> { onRouteExt4(path, queries, results) }
}
}
private fun onRouteExt4(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"doSthTestNestDataMappingBean" == path -> {
val bean = queries.value(0, null)
val routeResultTransformer: (TestNestDataMappingBeanCtx) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthTestNestDataMappingBean(bean.castToTypeOfT(), routeResultTransformer)
}
"doSthAsyncHOF" == path -> {
val hofCallback: (String, TestDataBeanCtx) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsyncHOF(hofCallback)
}
"doSthAsyncHOFNullable" == path -> {
val hof2xxCallback = queries.value(0, null)
val hof4xxCallback = queries.value(1, null)
val hofx1resCallback: ((String, TestDataBeanCtx) -> Unit)? = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsyncHOFNullable(hof2xxCallback.castToTypeOfT(), hof4xxCallback.castToTypeOfT(), hofx1resCallback)
}
"doSthAsync2HOF" == path -> {
val hofCallback: (String, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
val hof2Callback: (String, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(1, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsync2HOF(hofCallback, hof2Callback)
}
"doSthAsyncOpen" == path -> {
val uriParameter = queries.value(0, null)
val onCallCallback: ((String?, Int) -> Unit)? = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsyncOpen(uriParameter.castToTypeOfT(), onCallCallback)
}
"do-sth-async-interface" == path -> {
val onCallCallback: (String?, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsyncInterface(onCallCallback)
}
"do-sth-async-3-interface" == path -> {
val onCallCallback: ((String?, Int) -> Unit)? = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
val onCall1Callback: (String?, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(1, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
val onCall2Callback: (TestDataBeanCtx?) -> Unit = { lambdaArg0 ->
results.set(2, RubikResult(lambdaArg0))
}
doSthAsync3Interface(onCallCallback, onCall1Callback, onCall2Callback)
}
"do-sth-async-interface-multi-func" == path -> {
val startCallback: (String?, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
val dataCallback: (TestDataBeanCtx?) -> Unit = { lambdaArg0 ->
results.set(1, RubikResult(lambdaArg0))
}
val stopCallback: (String?, Int) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(2, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
doSthAsyncInterfaceMultiFunc(startCallback, dataCallback, stopCallback)
}
"doSthHOFTop" == path -> {
val lambdaArg0 = queries.value(0, "lambdaArg0")
val routeResultTransformer: (Unit) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthHOFTop(lambdaArg0.castToTypeOfT(), routeResultTransformer)
}
"property/top" == path -> {
val routeResultTransformer: (String) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
propertyTop(routeResultTransformer)
}
"doSthTop" == path -> {
val ints = queries.value(0, null)
val li = queries.value(1, null)
val strings = queries.value(2, null)
val ls = queries.value(3, null)
val beans = queries.value(4, null)
val lb = queries.value(5, null)
val routeResultTransformer: (List<TestDataBeanCtx>) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthTop(ints.castToTypeOfT(), li.castToTypeOfT(), strings.castToTypeOfT(), ls.castToTypeOfT(), beans.castToTypeOfT(), lb.castToTypeOfT(), routeResultTransformer)
}
"getFilesMeta" == path -> {
val context = queries.value(0, null)
val pathParameter = queries.value(1, null)
val onResultCallback: (Long, String?) -> Unit = { lambdaArg0, lambdaArg1 ->
results.set(0, RubikResult(lambdaArg0),RubikResult(lambdaArg1))
}
getFilesMeta(context.castToTypeOfT(), pathParameter.castToTypeOfT(), onResultCallback)
}
"enterprise/business/allocateTicket" == path -> {
val context = queries.value(0, null)
val shareId = queries.value(1, null)
val count = queries.value(2, null)
val packetType = queries.value(3, null)
val routeResultTransformer: ((LiveData<List<String>>?) -> Unit)? = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
enterpriseBusinessAllocateTicket(context.castToTypeOfT(), shareId.castToTypeOfT(), count.castToTypeOfT(), packetType.castToTypeOfT(), routeResultTransformer)
}
"do-sth-provide-instance-by-func" == path -> {
doSthProvideInstanceByFunc()
}
"do-sth-provide-instance-by-func2" == path -> {
doSthProvideInstanceByFunc2()
}
else -> { onRouteExt5(path, queries, results) }
}
}
private fun onRouteExt5(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"do-sth-provide-instance-by-parameter-func" == path -> {
val rubikInstanceValue = queries.value(0, null)
val rubikInstanceV0 = queries.value(1, null)
val v1 = queries.value(2, null)
val v2 = queries.value(3, null)
val v3 = queries.value(4, null)
doSthProvideInstanceByParameterFunc(rubikInstanceValue.castToTypeOfT(), rubikInstanceV0.castToTypeOfT(), v1.castToTypeOfT(), v2.castToTypeOfT(), v3.castToTypeOfT())
}
"do-sth-provide-instance-by-constructor" == path -> {
val rubikInstanceValue = queries.value(0, null)
val v1 = queries.value(1, null)
val v2 = queries.value(2, null)
val v3 = queries.value(3, null)
doSthProvideInstanceByConstructor(rubikInstanceValue.castToTypeOfT(), v1.castToTypeOfT(), v2.castToTypeOfT(), v3.castToTypeOfT())
}
"doSthResultReceiver" == path -> {
val resultParameter = queries.value(0, null)
val routeResultTransformer: (ResultReceiver) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
doSthResultReceiver(resultParameter.castToTypeOfT(), routeResultTransformer)
}
"live-data/get" == path -> {
val routeResultTransformer: (LiveData<String>) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
liveDataGet(routeResultTransformer)
}
"live-data-bean/get" == path -> {
val routeResultTransformer: (LiveData<TestDataBeanCtx>) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
liveDataBeanGet(routeResultTransformer)
}
"live-data-bean-list/get" == path -> {
val routeResultTransformer: (LiveData<List<TestListBeanCtx?>>) -> Unit = { lambdaArg0 ->
results.set(0, RubikResult(lambdaArg0))
}
liveDataBeanListGet(routeResultTransformer)
}
"do-sth-callback-object" == path -> {
val callback = queries.value(0, null)
doSthCallbackObject(callback.castToTypeOfT())
}
"fragment/page1" == path -> {
fragmentPage1().apply {
results.set(0, RubikResult(this))
}
}
"test-name-string" == path -> {
testNameString().apply {
results.set(0, RubikResult(this))
}
}
"test-name" == path -> {
testName()
}
"test_name_up" == path -> {
testNameUp()
}
"object/get/do-sth-in-common-ins" == path -> {
val objectInstance = queries.value(0, null)
val v1 = queries.value(1, null)
val v2 = queries.value(2, null)
val v3 = queries.value(3, null)
objectGetDoSthInCommonIns(objectInstance.castToTypeOfT(), v1.castToTypeOfT(), v2.castToTypeOfT(), v3.castToTypeOfT())
}
"get-a-lot-of-common-instance" == path -> {
val i = queries.value(0, null)
getALotOfCommonInstance(i.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"send-back-a-lot-of-common-instance" == path -> {
val objs = queries.value(0, null)
sendBackALotOfCommonInstance(objs.castToTypeOfT())
}
"get-a-lot-of-common-instance-null" == path -> {
val i = queries.value(0, null)
getALotOfCommonInstanceNull(i.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
else -> { onRouteExt6(path, queries, results) }
}
}
private fun onRouteExt6(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
"send-back-a-lot-of-common-instance-null" == path -> {
val objs = queries.value(0, null)
sendBackALotOfCommonInstanceNull(objs.castToTypeOfT())
}
"api/bigdata/json-array" == path -> {
val array = queries.value(0, null)
apiBigdataJsonArray(array.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/parcel-array" == path -> {
val array = queries.value(0, null)
apiBigdataParcelArray(array.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/lib-array" == path -> {
val array = queries.value(0, null)
apiBigdataLibArray(array.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/json-list" == path -> {
val list = queries.value(0, null)
apiBigdataJsonList(list.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/parcel-list" == path -> {
val list = queries.value(0, null)
apiBigdataParcelList(list.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/lib-list" == path -> {
val list = queries.value(0, null)
apiBigdataLibList(list.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/bigdata/parcel-arraylist" == path -> {
val list = queries.value(0, null)
apiBigdataParcelArraylist(list.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/serialization/parcel-bean" == path -> {
val parcelBean = queries.value(0, null)
apiSerializationParcelBean(parcelBean.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/serialization/parcel-array" == path -> {
val parcels = queries.value(0, null)
apiSerializationParcelArray(parcels.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/serialization/parcel-list" == path -> {
val parcels = queries.value(0, null)
apiSerializationParcelList(parcels.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"api/serialization/Serializable-bean" == path -> {
val serializableBean = queries.value(0, null)
apiSerializationSerializableBean(serializableBean.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"create-object-test-instance" == path -> {
val value = queries.value(0, null)
createObjectTestInstance(value.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"create-object-test-create-instance" == path -> {
val v1 = queries.value(0, null)
val v2 = queries.value(1, null)
createObjectTestCreateInstance(v1.castToTypeOfT(), v2.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
"create-object-test-create-instance-by-v1-v2-v3-v4" == path -> {
val v1 = queries.value(0, null)
val v2 = queries.value(1, null)
val v3 = queries.value(2, null)
val v4 = queries.value(3, null)
createObjectTestCreateInstanceByV1V2V3V4(v1.castToTypeOfT(), v2.castToTypeOfT(), v3.castToTypeOfT(), v4.castToTypeOfT()).apply {
results.set(0, RubikResult(this))
}
}
else -> { onRouteExt7(path, queries, results) }
}
}
private fun onRouteExt7(
path: String,
queries: RubikQueries,
results: RubikResultGroups
) {
when {
RubikPath("activity/page2/{key_str1}/{key_str2}/{key_str3}").matching(path) -> {
// com.mars.component.detail.ui.SecondPageActivity
// - parameters:
// --- key_str1 : kotlin.String?
// --- key_str2 : kotlin.String?
// --- key_str3 : kotlin.String?
RubikLauncher().launch(SecondPageActivity::class.java, queries, RubikPath("activity/page2/{key_str1}/{key_str2}/{key_str3}").getParameters(path), results)
}
"activity/page1_from_detail" == path -> {
// com.mars.component.detail.ui.FirstPageActivity
// - parameters:
// --- key_1_pa : com.mars.component.detail.value.TestCompanionBean?
// --- key_2_pa_ar : kotlin.Array<com.mars.component.detail.value.TestCompanionBean>?
// --- key_3_int : kotlin.Int
// --- key_4_strs : kotlin.collections.List<kotlin.String>?
// --- key_5_bean : com.mars.component.detail.value.TestDataBean?
// --- key_a_ints : kotlin.collections.List<kotlin.Int>?
// --- key_c_pa_li : kotlin.collections.List<com.mars.component.detail.value.TestCompanionBean>?
// --- key_int_for_all : kotlin.Int?
// --- key_int_for_detail : kotlin.Int?
// --- uri : kotlin.String?
RubikLauncher().launch(FirstPageActivity::class.java, queries, null, results)
}
"activity/page1_from_home" == path -> {
// com.mars.component.detail.ui.FirstPageActivity
// - parameters:
// --- key_1_pa : com.mars.component.detail.value.TestCompanionBean?
// --- key_2_pa_ar : kotlin.Array<com.mars.component.detail.value.TestCompanionBean>?
// --- key_3_int : kotlin.Int
// --- key_4_strs : kotlin.collections.List<kotlin.String>?
// --- key_5_bean : com.mars.component.detail.value.TestDataBean?
// --- key_a_ints : kotlin.collections.List<kotlin.Int>?
// --- key_c_pa_li : kotlin.collections.List<com.mars.component.detail.value.TestCompanionBean>?
// --- key_int_for_all : kotlin.Int?
// --- key_int_for_home : kotlin.Int?
// --- uri : kotlin.String?
RubikLauncher().launch(FirstPageActivity::class.java, queries, null, results)
}
"activity/page1" == path -> {
// com.mars.component.detail.ui.FirstPageActivity
// - parameters:
// --- key_1_pa : com.mars.component.detail.value.TestCompanionBean?
// --- key_2_pa_ar : kotlin.Array<com.mars.component.detail.value.TestCompanionBean>?
// --- key_3_int : kotlin.Int
// --- key_4_strs : kotlin.collections.List<kotlin.String>?
// --- key_5_bean : com.mars.component.detail.value.TestDataBean?
// --- key_a_ints : kotlin.collections.List<kotlin.Int>?
// --- key_c_pa_li : kotlin.collections.List<com.mars.component.detail.value.TestCompanionBean>?
// --- uri : kotlin.String?
RubikLauncher().launch(FirstPageActivity::class.java, queries, null, results)
}
else -> { throw com.rubik.route.exception.BadPathOrVersionException(path) }
}
}
override fun doTestGenericity7(data: Array<Long?>?): Array<Long?>? {
// com.mars.component.detail.test.TestGenericityTask.Companion.doTestGenericity7
// - parameters:
// --- data : kotlin.Array<kotlin.Long?>?
// - resultType:
// --- kotlin.Array<kotlin.Long?>?
return TestGenericityTask.Companion.doTestGenericity7(
data /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Long?>?] */
) /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Long?>?] */
}
override fun testGenericity4(): List<String?>? {
// com.mars.component.detail.test.TestGenericityTask.testGenericity4
// - resultType:
// --- kotlin.collections.List<kotlin.String?>
return TestGenericityTask().testGenericity4 /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String?>] */
}
override fun testGenericity5(lambdaArg0: List<String?>?): List<String?>? {
// com.mars.component.detail.test.TestGenericityTask.testGenericity5
// - parameters:
// --- lambdaArg0 : kotlin.collections.List<kotlin.String?>?
// - resultType:
// --- kotlin.collections.List<kotlin.String?>?
return TestGenericityTask().testGenericity5(
lambdaArg0 /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String?>?] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String?>?] */
}
override fun doTestGenericity6(data: Array<TestNullableBeanCtx?>?): Array<TestNullableBeanCtx?>? {
// com.mars.component.detail.test.TestGenericityTask.doTestGenericity6
// - parameters:
// --- data : kotlin.Array<com.mars.component.detail.value.TestNullableBean?>?
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestNullableBean?>?
return TestGenericityTask().doTestGenericity6(
data?.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestNullableBean?>?] */
)?.toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?>?] */
}
override fun doTestGenericity1(data: List<TestNullableBeanCtx?>?): List<TestNullableBeanCtx?>? {
// com.mars.component.detail.test.TestGenericityTaskKt.doTestGenericity1
// - parameters:
// --- data : kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>?
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>?
return com.mars.component.detail.test.doTestGenericity1(
data?.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>?] */
)?.toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?>?] */
}
override fun doTestGenericity2(data: LiveData<TestNullableBeanCtx?>?):
LiveData<TestNullableBeanCtx?>? {
// com.mars.component.detail.test.TestGenericityTaskKt.doTestGenericity2
// - parameters:
// --- data : androidx.lifecycle.LiveData<com.mars.component.detail.value.TestNullableBean?>?
// - resultType:
// --- androidx.lifecycle.LiveData<com.mars.component.detail.value.TestNullableBean?>?
return com.mars.component.detail.test.doTestGenericity2(
data?.toTypeOfT() /* -> TO ORIGINAL TYPE :[androidx.lifecycle.LiveData<com.mars.component.detail.value.TestNullableBean?>?] */
)?.toTypeOfT() /* -> TO CONTEXT TYPE :[androidx.lifecycle.LiveData<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?>?] */
}
override fun doTestGenericity3(data: Map<String, Long?>): Map<String, Long?>? {
// com.mars.component.detail.test.TestGenericityTaskKt.doTestGenericity3
// - parameters:
// --- data : kotlin.collections.Map<kotlin.String, kotlin.Long?>
// - resultType:
// --- kotlin.collections.Map<kotlin.String, kotlin.Long?>
return com.mars.component.detail.test.doTestGenericity3(
data /* -> NO NEED TO MAPPING :[kotlin.collections.Map<kotlin.String, kotlin.Long?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.Map<kotlin.String, kotlin.Long?>] */
}
override fun doTestGenericity8(resultSuccessCallback: Function1<ArrayList<String>, Unit>) {
// com.mars.component.detail.test.TestGenericityTaskKt.doTestGenericity8
// - parameters:
// --- resultSuccess : kotlin.Function1<kotlin.collections.ArrayList<kotlin.String>, kotlin.Unit>
// - resultType:
// --- null
com.mars.component.detail.test.doTestGenericity8(
resultSuccessCallback /* -> NO NEED TO MAPPING :[kotlin.Function1<kotlin.collections.ArrayList<kotlin.String>, kotlin.Unit>] */
)
}
override fun doTestGenericity9(resultSuccessCallback: Function1<List<String>, Unit>) {
// com.mars.component.detail.test.TestGenericityTaskKt.doTestGenericity9
// - parameters:
// --- resultSuccess : kotlin.Function1<kotlin.collections.List<kotlin.String>, kotlin.Unit>
// - resultType:
// --- null
com.mars.component.detail.test.doTestGenericity9(
resultSuccessCallback /* -> NO NEED TO MAPPING :[kotlin.Function1<kotlin.collections.List<kotlin.String>, kotlin.Unit>] */
)
}
override fun createTestDefaultPathTaskInstance(routeResultTransformer: (Any) -> Unit) {
// com.mars.component.detail.test.TestDefaultPathTask
// - resultType:
// --- com.mars.component.detail.test.TestDefaultPathTask
routeResultTransformer(TestDefaultPathTask() /* -> NO NEED TO MAPPING :[com.mars.component.detail.test.TestDefaultPathTask] */ )
}
override fun doTestDataType1(data: Context?): Context? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType1
// - parameters:
// --- data : android.content.Context?
// - resultType:
// --- android.content.Context?
return TestDataTypeTask().doTestDataType1(
data /* -> NO NEED TO MAPPING :[android.content.Context?] */
) /* -> NO NEED TO MAPPING :[android.content.Context?] */
}
override fun doTestDataType2(data: Int?): Int? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType2
// - parameters:
// --- data : kotlin.Int?
// - resultType:
// --- kotlin.Int?
return TestDataTypeTask().doTestDataType2(
data /* -> NO NEED TO MAPPING :[kotlin.Int?] */
) /* -> NO NEED TO MAPPING :[kotlin.Int?] */
}
override fun doTestDataType3(data: String?): String? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType3
// - parameters:
// --- data : kotlin.String?
// - resultType:
// --- kotlin.String?
return TestDataTypeTask().doTestDataType3(
data /* -> NO NEED TO MAPPING :[kotlin.String?] */
) /* -> NO NEED TO MAPPING :[kotlin.String?] */
}
override fun doTestDataType4(data: TestNullableBeanCtx?): TestNullableBeanCtx? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType4
// - parameters:
// --- data : com.mars.component.detail.value.TestNullableBean?
// - resultType:
// --- com.mars.component.detail.value.TestNullableBean?
return TestDataTypeTask().doTestDataType4(
data?.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestNullableBean?] */
)?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?] */
}
override fun doTestDataType5(data: List<String>?): List<String>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType5
// - parameters:
// --- data : kotlin.collections.List<kotlin.String>?
// - resultType:
// --- kotlin.collections.List<kotlin.String>?
return TestDataTypeTask().doTestDataType5(
data /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String>?] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String>?] */
}
override fun doTestDataType6(data: Array<Long>?): Array<Long>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType6
// - parameters:
// --- data : kotlin.Array<kotlin.Long>?
// - resultType:
// --- kotlin.Array<kotlin.Long>?
return TestDataTypeTask().doTestDataType6(
data /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Long>?] */
) /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Long>?] */
}
override fun doTestDataType7(data: LongArray?): LongArray? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType7
// - parameters:
// --- data : kotlin.LongArray?
// - resultType:
// --- kotlin.LongArray?
return TestDataTypeTask().doTestDataType7(
data /* -> NO NEED TO MAPPING :[kotlin.LongArray?] */
) /* -> NO NEED TO MAPPING :[kotlin.LongArray?] */
}
override fun doTestDataType8(data: IntArray?): IntArray? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType8
// - parameters:
// --- data : kotlin.IntArray?
// - resultType:
// --- kotlin.IntArray?
return TestDataTypeTask().doTestDataType8(
data /* -> NO NEED TO MAPPING :[kotlin.IntArray?] */
) /* -> NO NEED TO MAPPING :[kotlin.IntArray?] */
}
override fun doTestDataType9(data: BooleanArray?): BooleanArray? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType9
// - parameters:
// --- data : kotlin.BooleanArray?
// - resultType:
// --- kotlin.BooleanArray?
return TestDataTypeTask().doTestDataType9(
data /* -> NO NEED TO MAPPING :[kotlin.BooleanArray?] */
) /* -> NO NEED TO MAPPING :[kotlin.BooleanArray?] */
}
override fun doTestDataType10(resultSuccessCallback: Function1<Int, Unit>,
resultSuccess2Callback: Function1<String, Unit>) {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType10
// - parameters:
// --- resultSuccess : kotlin.Function1<kotlin.Int, kotlin.Unit>
// --- resultSuccess2 : kotlin.Function1<kotlin.String, kotlin.Unit>
// - resultType:
// --- null
TestDataTypeTask().doTestDataType10(
resultSuccessCallback /* -> NO NEED TO MAPPING :[kotlin.Function1<kotlin.Int, kotlin.Unit>] */ ,
resultSuccess2Callback /* -> NO NEED TO MAPPING :[kotlin.Function1<kotlin.String, kotlin.Unit>] */
)
}
override fun doTestDataType11(resultSuccessCallback: (Int, TestNullableBeanCtx) -> Unit,
resultSuccess2Callback: (TestNullableBeanCtx?) -> Unit) {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType11
// - parameters:
// --- resultSuccess : kotlin.Function2<kotlin.Int, com.mars.component.detail.value.TestNullableBean, kotlin.Unit>
// --- resultSuccess2 : kotlin.Function1<com.mars.component.detail.value.TestNullableBean?, kotlin.Unit>
// - resultType:
// --- null
val resultSuccessCallbackCallbackTransformer: (Any?, Any?) -> Unit = { lambdaArg0, lambdaArg1 ->
resultSuccessCallback(
lambdaArg0.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
lambdaArg1.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean] */
)}
val resultSuccess2CallbackCallbackTransformer: (Any?) -> Unit = { lambdaArg0 ->
resultSuccess2Callback(
lambdaArg0?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?] */
)}
TestDataTypeTask().doTestDataType11(
resultSuccessCallbackCallbackTransformer,
resultSuccess2CallbackCallbackTransformer
)
}
override fun doTestDataType13(data: List<Int?>): List<Int?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType13
// - parameters:
// --- data : kotlin.collections.List<kotlin.Int?>
// - resultType:
// --- kotlin.collections.List<kotlin.Int?>
return TestDataTypeTask().doTestDataType13(
data /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.Int?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.Int?>] */
}
override fun doTestDataType14(data: ArrayList<Int?>): ArrayList<Int?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType14
// - parameters:
// --- data : kotlin.collections.ArrayList<kotlin.Int?>
// - resultType:
// --- kotlin.collections.ArrayList<kotlin.Int?>
return TestDataTypeTask().doTestDataType14(
data /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.Int?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.Int?>] */
}
override fun doTestDataType15(data: List<TestNullableBeanCtx?>): List<TestNullableBeanCtx?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType15
// - parameters:
// --- data : kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>
return TestDataTypeTask().doTestDataType15(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestNullableBean?>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?>] */
}
override fun doTestDataType16(data: ArrayList<TestNullableBeanCtx?>):
ArrayList<TestNullableBeanCtx?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType16
// - parameters:
// --- data : kotlin.collections.ArrayList<com.mars.component.detail.value.TestNullableBean?>
// - resultType:
// --- kotlin.collections.ArrayList<com.mars.component.detail.value.TestNullableBean?>
return TestDataTypeTask().doTestDataType16(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.ArrayList<com.mars.component.detail.value.TestNullableBean?>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.ArrayList<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean?>] */
}
override fun doTestDataType17(data: List<String?>): List<String?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType17
// - parameters:
// --- data : kotlin.collections.List<kotlin.String?>
// - resultType:
// --- kotlin.collections.List<kotlin.String?>
return TestDataTypeTask().doTestDataType17(
data /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String?>] */
}
override fun doTestDataType18(data: ArrayList<String?>): ArrayList<String?>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType18
// - parameters:
// --- data : kotlin.collections.ArrayList<kotlin.String?>
// - resultType:
// --- kotlin.collections.ArrayList<kotlin.String?>
return TestDataTypeTask().doTestDataType18(
data /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.String?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.String?>] */
}
override fun doTestDataType19(data: ArrayList<Pair<String?, Int?>>): ArrayList<Pair<String?,
Int?>>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType19
// - parameters:
// --- data : kotlin.collections.ArrayList<kotlin.Pair<kotlin.String?, kotlin.Int?>>
// - resultType:
// --- kotlin.collections.ArrayList<kotlin.Pair<kotlin.String?, kotlin.Int?>>
return TestDataTypeTask().doTestDataType19(
data /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.Pair<kotlin.String?, kotlin.Int?>>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.ArrayList<kotlin.Pair<kotlin.String?, kotlin.Int?>>] */
}
override fun doTestDataType20(media: Pair<Long?, String?>): List<String>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType20
// - parameters:
// --- media : kotlin.Pair<kotlin.Long?, kotlin.String?>
// - resultType:
// --- kotlin.collections.List<kotlin.String>?
return TestDataTypeTask().doTestDataType20(
media /* -> NO NEED TO MAPPING :[kotlin.Pair<kotlin.Long?, kotlin.String?>] */
) /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String>?] */
}
override fun doTestDataType21(data: List<TestNullableBeanCtx>): List<TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType21
// - parameters:
// --- data : kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType21(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType22(data: List<TestNullableBeanCtx>): List<TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType22
// - parameters:
// --- data : kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType22(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType23(data: Array<TestNullableBeanCtx>): Array<TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType23
// - parameters:
// --- data : kotlin.Array<com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType23(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType24(data: Map<String, TestNullableBeanCtx>): Map<String,
TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType24
// - parameters:
// --- data : kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType24(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.Map<kotlin.String, rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType25(data: Map<String, TestNullableBeanCtx>): Map<String,
TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType25
// - parameters:
// --- data : kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType25(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.Map<kotlin.String, com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.Map<kotlin.String, rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType26(data: Set<TestNullableBeanCtx>): Set<TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType26
// - parameters:
// --- data : kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType26(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.Set<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun doTestDataType27(data: Set<TestNullableBeanCtx>): Set<TestNullableBeanCtx>? {
// com.mars.component.detail.test.TestDataTypeTask.doTestDataType27
// - parameters:
// --- data : kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>
// - resultType:
// --- kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>
return TestDataTypeTask().doTestDataType27(
data.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.Set<com.mars.component.detail.value.TestNullableBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.Set<rubik.generate.context.demo_com_mars_rubik_test_detail.TestNullableBean>] */
}
override fun testBeanCreate(
d1: Int?,
d2: String?,
routeResultTransformer: (TestCreateBeanCtx) -> Unit
) {
// com.mars.component.detail.value.TestCreateBean
// - parameters:
// --- d1 : kotlin.Int?
// --- d2 : kotlin.String?
// - resultType:
// --- com.mars.component.detail.value.TestCreateBean
routeResultTransformer(TestCreateBeanOrg(
d1 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
d2 /* -> NO NEED TO MAPPING :[kotlin.String?] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestCreateBean] */ )
}
override fun doSthInCommonInstance(objectInstance: ObjectTestCtx,
routeResultTransformer: (TestDataBeanCtx) -> Unit) {
// com.mars.component.detail.objekt.ObjectTest.doSthInObject
// - resultType:
// --- com.mars.component.detail.value.TestDataBean
routeResultTransformer(objectInstance.mapToType(toObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTest] */ .doSthInObject().toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */ )
}
override fun doSthInCommonInstanceParameter(
objectInstance: ObjectTestCtx,
v1: String,
v2: Int?,
v3: Int?
) {
// com.mars.component.detail.objekt.ObjectTest.doSthInObject2
// - parameters:
// --- v1 : kotlin.String
// --- v2 : kotlin.Int?
// --- v3 : kotlin.Int?
// - resultType:
// --- null
objectInstance.mapToType(toObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTest] */ .doSthInObject2(
v1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
v3 /* -> NO NEED TO MAPPING :[kotlin.Int?] */
)
}
override fun doSthCreateCommonInstance(objectInstance: ObjectTestCreateCtx,
routeResultTransformer: (TestDataBeanCtx) -> Unit) {
// com.mars.component.detail.objekt.ObjectTestCreate.doSthInCreateObject
// - resultType:
// --- com.mars.component.detail.value.TestDataBean
routeResultTransformer(objectInstance.mapToType(toObjectTestCreateOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTestCreate] */ .doSthInCreateObject().toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */ )
}
override fun getAOtherCommonInstance(i: Int, routeResultTransformer: (ObjectTestCtx) -> Unit) {
// com.mars.component.detail.objekt.ObjectTestKt.getAOtherObjectTest
// - parameters:
// --- i : kotlin.Int
// - resultType:
// --- com.mars.component.detail.objekt.ObjectTest
routeResultTransformer(com.mars.component.detail.objekt.getAOtherObjectTest(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
).mapToType(toObjectTestCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest] */ )
}
override fun sendBackCommonInstance(obj: ObjectTestCtx) {
// com.mars.component.detail.objekt.ObjectTestKt.senBackObjectTest
// - parameters:
// --- obj : com.mars.component.detail.objekt.ObjectTest
// - resultType:
// --- null
com.mars.component.detail.objekt.senBackObjectTest(
obj.mapToType(toObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTest] */
)
}
override fun getAOtherCommonInstanceNull(i: Int, routeResultTransformer: ((ObjectTestCtx?) ->
Unit)?) {
// com.mars.component.detail.objekt.ObjectTestKt.getAOtherObjectTestNull
// - parameters:
// --- i : kotlin.Int
// - resultType:
// --- com.mars.component.detail.objekt.ObjectTest?
if (null != routeResultTransformer) {
routeResultTransformer(com.mars.component.detail.objekt.getAOtherObjectTestNull(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
)?.mapToType(toNullableObjectTestCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest?] */ )}
}
override fun sendBackCommonInstanceNull(obj: ObjectTestCtx?) {
// com.mars.component.detail.objekt.ObjectTestKt.senBackObjectTestNull
// - parameters:
// --- obj : com.mars.component.detail.objekt.ObjectTest?
// - resultType:
// --- null
com.mars.component.detail.objekt.senBackObjectTestNull(
obj?.mapToType(toNullableObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTest?] */
)
}
override fun doSthExt(
i: Int,
s: String,
routeResultTransformer: (Int) -> Unit
) {
// com.mars.component.detail.api.ApisExtKt.doSthExt
// - parameters:
// --- s : kotlin.String
// --- i : kotlin.Int
// - resultType:
// --- kotlin.Int
routeResultTransformer(com.mars.component.detail.api.doSthExt(
s /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
) /* -> NO NEED TO MAPPING :[kotlin.Int] */ )
}
override fun doSthCompanion(
i: Int,
j: String,
k: Long,
routeResultTransformer: (String) -> Unit
) {
// com.mars.component.detail.api.AipsInCompanion.DetailCompanion.doSthCompanion
// - parameters:
// --- i : kotlin.Int
// --- j : kotlin.String
// --- k : kotlin.Long
// - resultType:
// --- kotlin.String
routeResultTransformer(AipsInCompanion.DetailCompanion.doSthCompanion(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
j /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
k /* -> NO NEED TO MAPPING :[kotlin.Long] */
) /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun propertyCompanion(routeResultTransformer: (String) -> Unit) {
// com.mars.component.detail.api.AipsInCompanion.propertyCompanion
// - resultType:
// --- kotlin.String
routeResultTransformer(com.mars.component.detail.api.AipsInCompanion.propertyCompanion /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun doSthHOFCompanion(lambdaArg0: Int, routeResultTransformer: (Int) -> Unit) {
// com.mars.component.detail.api.AipsInCompanion.doSthHOFCompanion
// - parameters:
// --- lambdaArg0 : kotlin.Int
// - resultType:
// --- kotlin.Int
routeResultTransformer(com.mars.component.detail.api.AipsInCompanion.doSthHOFCompanion(
lambdaArg0 /* -> NO NEED TO MAPPING :[kotlin.Int] */
) /* -> NO NEED TO MAPPING :[kotlin.Int] */ )
}
override fun doSthHof(
lambdaArg0: Int,
lambdaArg1: String,
lambdaArg2: TestDataBeanCtx
): Int? {
// com.mars.component.detail.api.Apis.doSthHOF
// - parameters:
// --- lambdaArg0 : kotlin.Int
// --- lambdaArg1 : kotlin.String
// --- lambdaArg2 : com.mars.component.detail.value.TestDataBean
// - resultType:
// --- kotlin.Int
return Apis().doSthHOF(
lambdaArg0 /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
lambdaArg1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
lambdaArg2.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestDataBean] */
) /* -> NO NEED TO MAPPING :[kotlin.Int] */
}
override fun propertyProperty(routeResultTransformer: (String) -> Unit) {
// com.mars.component.detail.api.Apis.property
// - resultType:
// --- kotlin.String
routeResultTransformer(Apis().property /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun doSth() {
// com.mars.component.detail.api.Apis.doSth
// - resultType:
// --- null
Apis().doSth()
}
override fun viewGet(context: Context, routeResultTransformer: ((View?) -> Unit)?) {
// com.mars.component.detail.api.Apis.getView
// - parameters:
// --- context : android.content.Context
// - resultType:
// --- android.view.View?
if (null != routeResultTransformer) {
routeResultTransformer(Apis().getView(
context /* -> NO NEED TO MAPPING :[android.content.Context] */
) /* -> NO NEED TO MAPPING :[android.view.View?] */ )}
}
override fun sthIdAName(
id: String,
name: String,
code1: String,
code2: String,
routeResultTransformer: (String) -> Unit
) {
// com.mars.component.detail.api.Apis.getSth
// - parameters:
// --- id : kotlin.String
// --- name : kotlin.String
// --- code1 : kotlin.String
// --- code2 : kotlin.String
// - resultType:
// --- kotlin.String
routeResultTransformer(Apis().getSth(
id /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
name /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
code1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
code2 /* -> NO NEED TO MAPPING :[kotlin.String] */
) /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun doSthVararg(no: Int, vararg varargString: String) {
// com.mars.component.detail.api.Apis.doSthVararg
// - parameters:
// --- no : kotlin.Int
// --- varargString : vararg kotlin.Array<kotlin.String>
// - resultType:
// --- null
Apis().doSthVararg(
no /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
*varargString /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.String>] */
)
}
override fun doSthVarargHof(no: Int, vararg varargString: Function5<Activity, ViewModelStoreOwner,
LifecycleOwner, LifecycleOwner?, LifecycleOwner?, LifecycleOwner?>) {
// com.mars.component.detail.api.Apis.doSthVarargHof
// - parameters:
// --- no : kotlin.Int
// --- varargString : vararg kotlin.Array<kotlin.Function5<android.app.Activity, androidx.lifecycle.ViewModelStoreOwner, androidx.lifecycle.LifecycleOwner, androidx.lifecycle.LifecycleOwner?, androidx.lifecycle.LifecycleOwner?, androidx.lifecycle.LifecycleOwner?>>
// - resultType:
// --- null
Apis().doSthVarargHof(
no /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
*varargString /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Function5<android.app.Activity, androidx.lifecycle.ViewModelStoreOwner, androidx.lifecycle.LifecycleOwner, androidx.lifecycle.LifecycleOwner?, androidx.lifecycle.LifecycleOwner?, androidx.lifecycle.LifecycleOwner?>>] */
)
}
override fun doSthBean(a1: TestDataBeanCtx, routeResultTransformer: (TestListBeanCtx) -> Unit) {
// com.mars.component.detail.api.Apis.doSthBean
// - parameters:
// --- a1 : com.mars.component.detail.value.TestDataBean
// - resultType:
// --- com.mars.component.detail.value.TestListBean
routeResultTransformer(Apis().doSthBean(
a1.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestDataBean] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestListBean] */ )
}
override fun doSthUriCrash(name: String, code: String) {
// com.mars.component.detail.api.Apis.doSthUriCrash3
// - parameters:
// --- name : kotlin.String
// --- code : kotlin.String
// - resultType:
// --- null
Apis().doSthUriCrash3(
name /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
code /* -> NO NEED TO MAPPING :[kotlin.String] */
)
}
override fun doSthUriCrashByNameCodeVersion(
name: String,
code: String,
version: String
) {
// com.mars.component.detail.api.Apis.doSthUriCrash4
// - parameters:
// --- name : kotlin.String
// --- code : kotlin.String
// --- version : kotlin.String
// - resultType:
// --- null
Apis().doSthUriCrash4(
name /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
code /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
version /* -> NO NEED TO MAPPING :[kotlin.String] */
)
}
override fun doSthMappingBean(a1: TestDataMappingBeanCtx,
routeResultTransformer: (TestDataMappingBeanCtx) -> Unit) {
// com.mars.component.detail.api.Apis.doSthMappingBean
// - parameters:
// --- a1 : com.mars.component.detail.value.mapping.TestDataMappingBean
// - resultType:
// --- com.mars.component.detail.value.mapping.TestDataMappingBean
routeResultTransformer(Apis().doSthMappingBean(
a1.mapToType(toTestDataMappingBeanOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.mapping.TestDataMappingBean] */
).mapToType(toTestDataMappingBeanCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataMappingBean] */ )
}
override fun doSthTestNestDataMappingBean(bean: TestNestDataMappingBeanCtx,
routeResultTransformer: (TestNestDataMappingBeanCtx) -> Unit) {
// com.mars.component.detail.api.Apis.doSthTestNestDataMappingBean
// - parameters:
// --- bean : com.mars.component.detail.value.mapping.TestNestDataMappingBean
// - resultType:
// --- com.mars.component.detail.value.mapping.TestNestDataMappingBean
routeResultTransformer(Apis().doSthTestNestDataMappingBean(
bean.mapToType(toTestNestDataMappingBeanOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.mapping.TestNestDataMappingBean] */
).mapToType(toTestNestDataMappingBeanCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestNestDataMappingBean] */ )
}
override fun doSthAsyncHOF(hofCallback: (String, TestDataBeanCtx) -> Unit) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncHOF
// - parameters:
// --- hof : kotlin.Function2<kotlin.String, com.mars.component.detail.value.TestDataBean, kotlin.Unit>
// - resultType:
// --- null
val hofCallbackCallbackTransformer: (Any?, Any?) -> Unit = { lambdaArg0, lambdaArg1 ->
hofCallback(
lambdaArg0.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
lambdaArg1.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)}
ApisAsyncReturn().doSthAsyncHOF(
hofCallbackCallbackTransformer
)
}
override fun doSthAsyncHOFNullable(
hof2xxCallback: Function2<String, TestDataBeanCtx, Unit>?,
hof4xxCallback: Function3<String, Int, TestDataBeanCtx, TestDataBeanCtx?>?,
hofx1resCallback: ((String, TestDataBeanCtx) -> Unit)?
) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncHOFNullable
// - parameters:
// --- hofx1res : kotlin.Function2<kotlin.String, com.mars.component.detail.value.TestDataBean, kotlin.Unit>?
// --- hof2xx : kotlin.Function2<kotlin.String, com.mars.component.detail.value.TestDataBean, kotlin.Unit>?
// --- hof4xx : kotlin.Function3<kotlin.String, kotlin.Int, com.mars.component.detail.value.TestDataBean, com.mars.component.detail.value.TestDataBean?>?
// - resultType:
// --- null
val hofx1resCallbackCallbackTransformer: (Any?, Any?) -> Unit = { lambdaArg0, lambdaArg1 ->
hofx1resCallback?.invoke(
lambdaArg0.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
lambdaArg1.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)}
val hof2xxCallbackCallbackTransformer: (Any?, Any?) -> Unit = { lambdaArg0, lambdaArg1 ->
hof2xxCallback?.invoke(
lambdaArg0.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
lambdaArg1.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)}
val hof4xxCallbackCallbackTransformer: (Any?, Any?, Any?) -> TestDataBeanOrg? = { lambdaArg0, lambdaArg1, lambdaArg2 ->
hof4xxCallback?.invoke(
lambdaArg0.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
lambdaArg1.castToTypeOfT() /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
lambdaArg2.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)?.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestDataBean?] */ }
ApisAsyncReturn().doSthAsyncHOFNullable(
hofx1resCallbackCallbackTransformer,
hof2xxCallbackCallbackTransformer,
hof4xxCallbackCallbackTransformer
)
}
override fun doSthAsync2HOF(hofCallback: (String, Int) -> Unit, hof2Callback: (String, Int) ->
Unit) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncHOF
// - parameters:
// --- hof : kotlin.Function2<kotlin.String, kotlin.Int, kotlin.Unit>
// --- hof2 : kotlin.Function2<kotlin.String, kotlin.Int, kotlin.Unit>
// - resultType:
// --- null
ApisAsyncReturn().doSthAsyncHOF(
hofCallback /* -> NO NEED TO MAPPING :[kotlin.Function2<kotlin.String, kotlin.Int, kotlin.Unit>] */ ,
hof2Callback /* -> NO NEED TO MAPPING :[kotlin.Function2<kotlin.String, kotlin.Int, kotlin.Unit>] */
)
}
override fun doSthAsyncOpen(uriParameter: String, onCallCallback: ((String?, Int) -> Unit)?) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncOpen
// - parameters:
// --- uri : kotlin.String
// --- results : com.mars.component.detail.api.Callback?
// - resultType:
// --- null
val resultsParameterCallbackTransformer = object : Callback() {
override fun onCall(v1: String?, v2: Int) {
onCallCallback?.invoke(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
}
ApisAsyncReturn().doSthAsyncOpen(
uriParameter /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
resultsParameterCallbackTransformer
)
}
override fun doSthAsyncInterface(onCallCallback: (String?, Int) -> Unit) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncInterface
// - parameters:
// --- onResult : com.mars.component.detail.api.Callbackable
// - resultType:
// --- null
val onResultCallbackTransformer = object : Callbackable {
override fun onCall(v1: String?, v2: Int) {
onCallCallback(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
}
ApisAsyncReturn().doSthAsyncInterface(
onResultCallbackTransformer
)
}
override fun doSthAsync3Interface(
onCallCallback: ((String?, Int) -> Unit)?,
onCall1Callback: (String?, Int) -> Unit,
onCall2Callback: (TestDataBeanCtx?) -> Unit
) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsync2Interface
// - parameters:
// --- onResult : com.mars.component.detail.api.Callbackable?
// --- onResult2 : com.mars.component.detail.api.Callbackable
// --- onResult3 : com.mars.component.detail.api.BeanCallbackable
// - resultType:
// --- null
val onResultCallbackTransformer = object : Callbackable {
override fun onCall(v1: String?, v2: Int) {
onCallCallback?.invoke(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
}
val onResult2CallbackTransformer = object : Callbackable {
override fun onCall(v1: String?, v2: Int) {
onCall1Callback(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
}
val onResult3CallbackTransformer = object : BeanCallbackable {
override fun onCall(v: TestDataBeanOrg?) {
onCall2Callback(
v?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean?] */
)}
}
ApisAsyncReturn().doSthAsync2Interface(
onResultCallbackTransformer,
onResult2CallbackTransformer,
onResult3CallbackTransformer
)
}
override fun doSthAsyncInterfaceMultiFunc(
startCallback: (String?, Int) -> Unit,
dataCallback: (TestDataBeanCtx?) -> Unit,
stopCallback: (String?, Int) -> Unit
) {
// com.mars.component.detail.api.ApisAsyncReturn.doSthAsyncInterfaceMultiFunc
// - parameters:
// --- onResult : com.mars.component.detail.api.MultiCallback
// - resultType:
// --- null
val onResultCallbackTransformer = object : MultiCallback {
override fun start(v1: String?, v2: Int) {
startCallback(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
override fun data(v: TestDataBeanOrg?) {
dataCallback(
v?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean?] */
)}
override fun stop(v1: String?, v2: Int) {
stopCallback(
v1 /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
}
ApisAsyncReturn().doSthAsyncInterfaceMultiFunc(
onResultCallbackTransformer
)
}
override fun doSthHOFTop(lambdaArg0: Unit, routeResultTransformer: (Unit) -> Unit) {
// com.mars.component.detail.api.AipsInTopKt.doSthHOFTop
// - parameters:
// --- lambdaArg0 : kotlin.Unit
// - resultType:
// --- kotlin.Unit
routeResultTransformer(com.mars.component.detail.api.doSthHOFTop(
lambdaArg0 /* -> NO NEED TO MAPPING :[kotlin.Unit] */
) /* -> NO NEED TO MAPPING :[kotlin.Unit] */ )
}
override fun propertyTop(routeResultTransformer: (String) -> Unit) {
// com.mars.component.detail.api.AipsInTopKt.propertyTop
// - resultType:
// --- kotlin.String
routeResultTransformer(com.mars.component.detail.api.propertyTop /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun doSthTop(
ints: Array<Int>,
li: List<Int?>,
strings: Array<String>,
ls: List<String>,
beans: Array<TestDataBeanCtx>,
lb: List<TestDataBeanCtx>,
routeResultTransformer: (List<TestDataBeanCtx>) -> Unit
) {
// com.mars.component.detail.api.AipsInTopKt.doSthTop
// - parameters:
// --- ints : kotlin.Array<kotlin.Int>
// --- li : kotlin.collections.List<kotlin.Int?>
// --- strings : kotlin.Array<kotlin.String>
// --- ls : kotlin.collections.List<kotlin.String>
// --- beans : kotlin.Array<com.mars.component.detail.value.TestDataBean>
// --- lb : kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
routeResultTransformer(com.mars.component.detail.api.doSthTop(
ints /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.Int>] */ ,
li /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.Int?>] */ ,
strings /* -> NO NEED TO MAPPING :[kotlin.Array<kotlin.String>] */ ,
ls /* -> NO NEED TO MAPPING :[kotlin.collections.List<kotlin.String>] */ ,
beans.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestDataBean>] */ ,
lb.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestDataBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */ )
}
override fun getFilesMeta(
context: Context?,
pathParameter: String?,
onResultCallback: (Long, String?) -> Unit
) {
// com.mars.component.detail.api.ApisBadCase.getFilesMeta
// - parameters:
// --- context : android.content.Context?
// --- path : kotlin.String?
// --- callback : com.mars.component.detail.api.GetFileMetaCallback
// - resultType:
// --- null
val callbackCallbackTransformer = object : GetFileMetaCallback {
override fun onResult(fsid: Long, pathParameter: String?) {
onResultCallback(
fsid /* -> NO NEED TO MAPPING :[kotlin.Long] */ ,
pathParameter /* -> NO NEED TO MAPPING :[kotlin.String?] */
)}
}
ApisBadCase().getFilesMeta(
context /* -> NO NEED TO MAPPING :[android.content.Context?] */ ,
pathParameter /* -> NO NEED TO MAPPING :[kotlin.String?] */ ,
callbackCallbackTransformer
)
}
override fun enterpriseBusinessAllocateTicket(
context: Context,
shareId: Long,
count: Int,
packetType: Int,
routeResultTransformer: ((LiveData<List<String>>?) -> Unit)?
) {
// com.mars.component.detail.api.ApisBadCase.allocateTicket
// - parameters:
// --- context : android.content.Context
// --- shareId : kotlin.Long
// --- count : kotlin.Int
// --- packetType : kotlin.Int
// - resultType:
// --- androidx.lifecycle.LiveData<kotlin.collections.List<kotlin.String>>?
if (null != routeResultTransformer) {
routeResultTransformer(ApisBadCase().allocateTicket(
context /* -> NO NEED TO MAPPING :[android.content.Context] */ ,
shareId /* -> NO NEED TO MAPPING :[kotlin.Long] */ ,
count /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
packetType /* -> NO NEED TO MAPPING :[kotlin.Int] */
) /* -> NO NEED TO MAPPING :[androidx.lifecycle.LiveData<kotlin.collections.List<kotlin.String>>?] */ )}
}
override fun doSthProvideInstanceByFunc() {
// com.mars.component.detail.api.Task.doSthProvideObject
// - resultType:
// --- null
com.mars.component.detail.api.provideTask() /* -> NO NEED TO MAPPING :[com.mars.component.detail.api.Task] */ .doSthProvideObject()
}
override fun doSthProvideInstanceByFunc2() {
// com.mars.component.detail.api.Task.doSthProvideObject2
// - resultType:
// --- null
com.mars.component.detail.api.provideTask() /* -> NO NEED TO MAPPING :[com.mars.component.detail.api.Task] */ .doSthProvideObject2()
}
override fun doSthProvideInstanceByParameterFunc(
rubikInstanceValue: String,
rubikInstanceV0: Int?,
v1: String,
v2: Int?,
v3: Int?
) {
// com.mars.component.detail.api.Task.doSthProvideObject2
// - parameters:
// --- v1 : kotlin.String
// --- v2 : kotlin.Int?
// --- v3 : kotlin.Int?
// - resultType:
// --- null
com.mars.component.detail.api.provideTask2(
rubikInstanceValue /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
rubikInstanceV0 /* -> NO NEED TO MAPPING :[kotlin.Int?] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.api.Task] */ .doSthProvideObject2(
v1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
v3 /* -> NO NEED TO MAPPING :[kotlin.Int?] */
)
}
override fun doSthProvideInstanceByConstructor(
rubikInstanceValue: String,
v1: String,
v2: Int?,
v3: Int?
) {
// com.mars.component.detail.api.Task.doSthProvideObject3
// - parameters:
// --- v1 : kotlin.String
// --- v2 : kotlin.Int?
// --- v3 : kotlin.Int?
// - resultType:
// --- null
Task(
rubikInstanceValue /* -> NO NEED TO MAPPING :[kotlin.String] */
) /* -> NO NEED TO MAPPING :[com.mars.component.detail.api.Task] */ .doSthProvideObject3(
v1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
v3 /* -> NO NEED TO MAPPING :[kotlin.Int?] */
)
}
override fun doSthResultReceiver(resultParameter: ResultReceiver,
routeResultTransformer: (ResultReceiver) -> Unit) {
// com.mars.component.detail.api.ApisWithResultReceiver.doSthResultReceiver
// - parameters:
// --- result : android.os.ResultReceiver
// - resultType:
// --- android.os.ResultReceiver
routeResultTransformer(ApisWithResultReceiver().doSthResultReceiver(
resultParameter /* -> NO NEED TO MAPPING :[android.os.ResultReceiver] */
) /* -> NO NEED TO MAPPING :[android.os.ResultReceiver] */ )
}
override fun liveDataGet(routeResultTransformer: (LiveData<String>) -> Unit) {
// com.mars.component.detail.api.ApisWithLiveData.getSthLiveData
// - resultType:
// --- androidx.lifecycle.LiveData<kotlin.String>
routeResultTransformer(ApisWithLiveData().getSthLiveData() /* -> NO NEED TO MAPPING :[androidx.lifecycle.LiveData<kotlin.String>] */ )
}
override fun liveDataBeanGet(routeResultTransformer: (LiveData<TestDataBeanCtx>) -> Unit) {
// com.mars.component.detail.api.ApisWithLiveData.getSthLiveDataBean
// - resultType:
// --- androidx.lifecycle.LiveData<com.mars.component.detail.value.TestDataBean>
routeResultTransformer(ApisWithLiveData().getSthLiveDataBean().toTypeOfT() /* -> TO CONTEXT TYPE :[androidx.lifecycle.LiveData<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */ )
}
override fun liveDataBeanListGet(routeResultTransformer: (LiveData<List<TestListBeanCtx?>>) ->
Unit) {
// com.mars.component.detail.api.ApisWithLiveData.getSthLiveDataBeanList
// - resultType:
// --- androidx.lifecycle.LiveData<kotlin.collections.List<com.mars.component.detail.value.TestListBean?>>
routeResultTransformer(ApisWithLiveData().getSthLiveDataBeanList().toTypeOfT() /* -> TO CONTEXT TYPE :[androidx.lifecycle.LiveData<kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestListBean?>>] */ )
}
override fun doSthCallbackObject(callback: CallbackTestInterfaceCtx) {
// com.mars.component.detail.callback.CallbackTestInterfaceKt.doSthCallbackObject
// - parameters:
// --- callback : com.mars.component.detail.callback.CallbackTestInterface
// - resultType:
// --- null
com.mars.component.detail.callback.doSthCallbackObject(
callback.mapToType(toCallbackTestInterfaceOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.callback.CallbackTestInterface] */
)
}
override fun testNameString(): String? {
// com.mars.component.detail.test.TestDefaultPathTask.testNameString
// - resultType:
// --- kotlin.String
return TestDefaultPathTask().testNameString /* -> NO NEED TO MAPPING :[kotlin.String] */
}
override fun testName() {
// com.mars.component.detail.test.TestDefaultPathTask.testName
// - resultType:
// --- null
TestDefaultPathTask().testName()
}
override fun testNameUp() {
// com.mars.component.detail.test.TestDefaultPathTask.TEST_NAME_UP
// - resultType:
// --- null
TestDefaultPathTask().TEST_NAME_UP()
}
override fun getALotOfCommonInstance(i: Int): List<ObjectTestCtx>? {
// com.mars.component.detail.objekt.ObjectTestKt.getALotOfObjectTest
// - parameters:
// --- i : kotlin.Int
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.objekt.ObjectTest>
return com.mars.component.detail.objekt.getALotOfObjectTest(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
).mapToType(toObjectTestCtxMapping) /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest>] */
}
override fun sendBackALotOfCommonInstance(objs: Map<String, ObjectTestCtx>) {
// com.mars.component.detail.objekt.ObjectTestKt.senBackALotOfObjectTest
// - parameters:
// --- objs : kotlin.collections.Map<kotlin.String, com.mars.component.detail.objekt.ObjectTest>
// - resultType:
// --- null
com.mars.component.detail.objekt.senBackALotOfObjectTest(
objs.mapToType(toObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[kotlin.collections.Map<kotlin.String, com.mars.component.detail.objekt.ObjectTest>] */
)
}
override fun getALotOfCommonInstanceNull(i: Int): List<ObjectTestCtx?>? {
// com.mars.component.detail.objekt.ObjectTestKt.getALotOfObjectTestNull
// - parameters:
// --- i : kotlin.Int
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.objekt.ObjectTest?>?
return com.mars.component.detail.objekt.getALotOfObjectTestNull(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
)?.mapToType(toNullableObjectTestCtxMapping) /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest?>?] */
}
override fun sendBackALotOfCommonInstanceNull(objs: Map<String?, ObjectTestCtx?>?) {
// com.mars.component.detail.objekt.ObjectTestKt.senBackALotOfObjectTesNull
// - parameters:
// --- objs : kotlin.collections.Map<kotlin.String?, com.mars.component.detail.objekt.ObjectTest?>?
// - resultType:
// --- null
com.mars.component.detail.objekt.senBackALotOfObjectTesNull(
objs?.mapToType(toNullableObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[kotlin.collections.Map<kotlin.String?, com.mars.component.detail.objekt.ObjectTest?>?] */
)
}
override fun fragmentPage1(): Fragment? {
// com.mars.component.detail.ui.FirstPageFragment
// - resultType:
// --- com.mars.component.detail.ui.FirstPageFragment
return FirstPageFragment() /* -> NO NEED TO MAPPING :[com.mars.component.detail.ui.FirstPageFragment] */
}
override fun objectGetDoSthInCommonIns(
objectInstance: ObjectTestCtx,
v1: String,
v2: Int?,
v3: Int?
) {
// com.mars.component.detail.objekt.ObjectTest.doSthInObject3
// - parameters:
// --- v1 : kotlin.String
// --- v2 : kotlin.Int?
// --- v3 : kotlin.Int?
// - resultType:
// --- null
objectInstance.mapToType(toObjectTestOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.objekt.ObjectTest] */ .doSthInObject3(
v1 /* -> NO NEED TO MAPPING :[kotlin.String] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
v3 /* -> NO NEED TO MAPPING :[kotlin.Int?] */
)
}
override fun apiBigdataJsonArray(array: Array<TestDataBeanCtx>): Array<TestDataBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigJsonArray
// - parameters:
// --- array : kotlin.Array<com.mars.component.detail.value.TestDataBean>
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestDataBean>
return ApisBigData().getBigJsonArray(
array.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestDataBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */
}
override fun apiBigdataParcelArray(array: Array<TestParcelizeBeanCtx>):
Array<TestParcelizeBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigParcelArray
// - parameters:
// --- array : kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>
return ApisBigData().getBigParcelArray(
array.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean>] */
}
override fun apiBigdataLibArray(array: Array<TestDataBeanCtx>): Array<TestDataBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigLibArray
// - parameters:
// --- array : kotlin.Array<com.mars.component.detail.value.TestDataBean>
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestDataBean>
return ApisBigData().getBigLibArray(
array.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestDataBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */
}
override fun apiBigdataJsonList(list: List<TestDataBeanCtx>): List<TestDataBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigJsonList
// - parameters:
// --- list : kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
return ApisBigData().getBigJsonList(
list.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestDataBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */
}
override fun apiBigdataParcelList(list: List<TestParcelizeBeanCtx>): List<TestParcelizeBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigParcelList
// - parameters:
// --- list : kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
return ApisBigData().getBigParcelList(
list.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean>] */
}
override fun apiBigdataLibList(list: List<TestDataBeanCtx>): List<TestDataBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigLibList
// - parameters:
// --- list : kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestDataBean>
return ApisBigData().getBigLibList(
list.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestDataBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>] */
}
override fun apiBigdataParcelArraylist(list: List<TestParcelizeBeanCtx>):
List<TestParcelizeBeanCtx>? {
// com.mars.component.detail.api.ApisBigData.getBigParcelArrayList
// - parameters:
// --- list : kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
return ApisBigData().getBigParcelArrayList(
list.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean>] */
}
override fun apiSerializationParcelBean(parcelBean: TestParcelizeBeanCtx?):
TestParcelizeBeanCtx? {
// com.mars.component.detail.api.ApiSerialization.doSthParcelBean
// - parameters:
// --- parcelBean : com.mars.component.detail.value.TestParcelizeBean?
// - resultType:
// --- com.mars.component.detail.value.TestParcelizeBean
return ApiSerialization().doSthParcelBean(
parcelBean?.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestParcelizeBean?] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean] */
}
override fun apiSerializationParcelArray(parcels: Array<TestParcelizeBeanCtx>):
Array<TestParcelizeBeanCtx>? {
// com.mars.component.detail.api.ApiSerialization.doSthParcelArray
// - parameters:
// --- parcels : kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>
// - resultType:
// --- kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>
return ApiSerialization().doSthParcelArray(
parcels.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.Array<com.mars.component.detail.value.TestParcelizeBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.Array<rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean>] */
}
override fun apiSerializationParcelList(parcels: List<TestParcelizeBeanCtx>):
List<TestParcelizeBeanCtx>? {
// com.mars.component.detail.api.ApiSerialization.doSthParcelList
// - parameters:
// --- parcels : kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
// - resultType:
// --- kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>
return ApiSerialization().doSthParcelList(
parcels.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestParcelizeBean>] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestParcelizeBean>] */
}
override fun apiSerializationSerializableBean(serializableBean: TestSerializableBeanCtx):
TestSerializableBeanCtx? {
// com.mars.component.detail.api.ApiSerialization.doSthSerializableBean
// - parameters:
// --- serializableBean : com.mars.component.detail.value.TestSerializableBean
// - resultType:
// --- com.mars.component.detail.value.TestSerializableBean
return ApiSerialization().doSthSerializableBean(
serializableBean.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestSerializableBean] */
).toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestSerializableBean] */
}
override fun sthNavigationOnlyUri(uriParameter: String, routeResultTransformer: (String) ->
Unit) {
// com.mars.component.detail.api.Apis.getSthNavigationOnly
// - parameters:
// --- uri : kotlin.String
// - resultType:
// --- kotlin.String
routeResultTransformer(Apis().getSthNavigationOnly(
uriParameter /* -> NO NEED TO MAPPING :[kotlin.String] */
) /* -> NO NEED TO MAPPING :[kotlin.String] */ )
}
override fun createObjectTestInstance(value: String): ObjectTestCtx? {
// com.mars.component.detail.objekt.ObjectTest
// - parameters:
// --- value : kotlin.String
// - resultType:
// --- com.mars.component.detail.objekt.ObjectTest
return ObjectTestOrg(
value /* -> NO NEED TO MAPPING :[kotlin.String] */
).mapToType(toObjectTestCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest] */
}
override fun createObjectTestCreateInstance(v1: Int, v2: String): ObjectTestCreateCtx? {
// com.mars.component.detail.objekt.ObjectTestCreate
// - parameters:
// --- v1 : kotlin.Int
// --- v2 : kotlin.String
// - resultType:
// --- com.mars.component.detail.objekt.ObjectTestCreate
return ObjectTestCreateOrg(
v1 /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.String] */
).mapToType(toObjectTestCreateCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTestCreate] */
}
override fun createObjectTestCreateInstanceByV1V2V3V4(
v1: Int,
v2: Int,
v3: Int,
v4: Int
): ObjectTestCreateCtx? {
// com.mars.component.detail.objekt.ObjectTestCreate
// - parameters:
// --- v1 : kotlin.Int
// --- v2 : kotlin.Int
// --- v3 : kotlin.Int
// --- v4 : kotlin.Int
// - resultType:
// --- com.mars.component.detail.objekt.ObjectTestCreate
return ObjectTestCreateOrg(
v1 /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
v2 /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
v3 /* -> NO NEED TO MAPPING :[kotlin.Int] */ ,
v4 /* -> NO NEED TO MAPPING :[kotlin.Int] */
).mapToType(toObjectTestCreateCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTestCreate] */
}
@RGenerated(
kind = "aggregate_mappings",
by = "rubik-kapt:1.10.0.0-K1_5-LOCAL",
version = "0.0.1-DEV"
)
@Keep
object Mappings {
/**
* Mapping between :
* com.mars.component.detail.objekt.ObjectTest < --- > rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTest
*/
val toObjectTestCtxMapping: ObjectTestOrg.() -> ObjectTestCtx
get() = { ObjectTestCtx.create(this) }
val toObjectTestOrgMapping: ObjectTestCtx.() -> ObjectTestOrg
get() = { this.originalObject.castToTypeOfT() }
val toNullableObjectTestCtxMapping: ObjectTestOrg?.() -> ObjectTestCtx?
get() = { this?.toObjectTestCtxMapping() }
val toNullableObjectTestOrgMapping: ObjectTestCtx?.() -> ObjectTestOrg?
get() = { this?.toObjectTestOrgMapping() }
/**
* Mapping between :
* com.mars.component.detail.objekt.ObjectTestCreate < --- > rubik.generate.context.demo_com_mars_rubik_test_detail.objekt.ObjectTestCreate
*/
val toObjectTestCreateCtxMapping: ObjectTestCreateOrg.() -> ObjectTestCreateCtx
get() = { ObjectTestCreateCtx.create(this) }
val toObjectTestCreateOrgMapping: ObjectTestCreateCtx.() -> ObjectTestCreateOrg
get() = { this.originalObject.castToTypeOfT() }
/**
* Mapping between :
* com.mars.component.detail.callback.CallbackTestInterface < --- > rubik.generate.context.demo_com_mars_rubik_test_detail.callback.CallbackTestInterface
*/
val toCallbackTestInterfaceOrgMapping: CallbackTestInterfaceCtx.() -> CallbackTestInterfaceOrg
get() = {
val mappingTarget = this
object : CallbackTestInterfaceOrg {
override fun callbackInt(i: Int) {
mappingTarget.callbackInt(
i /* -> NO NEED TO MAPPING :[kotlin.Int] */
)}
override fun callbackBean(bean: TestDataBeanOrg) {
mappingTarget.callbackBean(
bean.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean] */
)}
override fun callbackBeanReBean(bean: TestDataBeanOrg?) {
mappingTarget.callbackBeanReBean(
bean?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean?] */
)}
}
}
/**
* Mapping between :
* com.mars.component.detail.value.mapping.TestNestDataMappingBean < --- > rubik.generate.context.demo_com_mars_rubik_test_detail.TestNestDataMappingBean
*/
val toTestNestDataMappingBeanCtxMapping: TestNestDataMappingBeanOrg.() ->
TestNestDataMappingBeanCtx
get() = { TestNestDataMappingBeanCtx(
d1?.toTypeOfT() /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean?] */ ,
d2?.mapToType(toNullableTestDataMappingBeanCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataMappingBean?] */ ,
d3?.mapToType(toNullableTestNestDataMappingBeanCtxMapping) /* -> TO CONTEXT TYPE :[rubik.generate.context.demo_com_mars_rubik_test_detail.TestNestDataMappingBean?] */ ,
d4?.toTypeOfT() /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataBean>?] */ ,
d5?.mapToType(toTestDataMappingBeanCtxMapping) /* -> TO CONTEXT TYPE :[kotlin.collections.List<rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataMappingBean>?] */
) }
val toTestNestDataMappingBeanOrgMapping: TestNestDataMappingBeanCtx.() ->
TestNestDataMappingBeanOrg
get() = { TestNestDataMappingBeanOrg(
d1?.toTypeOfT() /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.TestDataBean?] */ ,
d2?.mapToType(toNullableTestDataMappingBeanOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.mapping.TestDataMappingBean?] */ ,
d3?.mapToType(toNullableTestNestDataMappingBeanOrgMapping) /* -> TO ORIGINAL TYPE :[com.mars.component.detail.value.mapping.TestNestDataMappingBean?] */ ,
d4?.toTypeOfT() /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.TestDataBean>?] */ ,
d5?.mapToType(toTestDataMappingBeanOrgMapping) /* -> TO ORIGINAL TYPE :[kotlin.collections.List<com.mars.component.detail.value.mapping.TestDataMappingBean>?] */
) }
val toNullableTestNestDataMappingBeanCtxMapping: TestNestDataMappingBeanOrg?.() ->
TestNestDataMappingBeanCtx?
get() = { this?.toTestNestDataMappingBeanCtxMapping() }
val toNullableTestNestDataMappingBeanOrgMapping: TestNestDataMappingBeanCtx?.() ->
TestNestDataMappingBeanOrg?
get() = { this?.toTestNestDataMappingBeanOrgMapping() }
/**
* Mapping between :
* com.mars.component.detail.value.mapping.TestDataMappingBean < --- > rubik.generate.context.demo_com_mars_rubik_test_detail.TestDataMappingBean
*/
val toTestDataMappingBeanCtxMapping: TestDataMappingBeanOrg.() -> TestDataMappingBeanCtx
get() = { TestDataMappingBeanCtx(
d1 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
d2 /* -> NO NEED TO MAPPING :[kotlin.String?] */
) }
val toTestDataMappingBeanOrgMapping: TestDataMappingBeanCtx.() -> TestDataMappingBeanOrg
get() = { TestDataMappingBeanOrg(
d1 /* -> NO NEED TO MAPPING :[kotlin.Int?] */ ,
d2 /* -> NO NEED TO MAPPING :[kotlin.String?] */
) }
val toNullableTestDataMappingBeanCtxMapping: TestDataMappingBeanOrg?.() ->
TestDataMappingBeanCtx?
get() = { this?.toTestDataMappingBeanCtxMapping() }
val toNullableTestDataMappingBeanOrgMapping: TestDataMappingBeanCtx?.() ->
TestDataMappingBeanOrg?
get() = { this?.toTestDataMappingBeanOrgMapping() }
}
@RGenerated(
kind = "aggregate_companion",
by = "rubik-kapt:1.10.0.0-K1_5-LOCAL",
version = "0.0.1-DEV"
)
@Keep
companion object : AggregateFactory() {
override val URI: String = "demo://com.mars.rubik-test.detail"
override val EVENT_MSGS: List<String> = listOf(
"MY_INIT",
"MY_DESTROY",
"MY_CALLBACK_RES",
"MY_CALLBACK_RES_BEAN",
"MY_CALLBACK_BEAN",
"LifeCycleEvent_Init",
"LifeCycleEvent_Destroy"
)
override val CREATOR: Function0<Aggregatable> = {DetailAggregate()}
}
}
/**
* generated Rubik AggregateId.
*
* uri: [demo://com.mars.rubik-test.detail]
* originalToken:
* [API]api/bigdata/json-array|N|F|T|T|[IVO]getBigJsonArray|F|N|[QUY]array|Array<TestDataBean>|F|F|F[<]|[RST]B|Array<TestDataBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/json-list|N|F|T|T|[IVO]getBigJsonList|F|N|[QUY]list|List<TestDataBean>|F|F|F[<]|[RST]B|List<TestDataBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/lib-array|N|F|T|T|[IVO]getBigLibArray|F|N|[QUY]array|Array<TestDataBean>|F|F|F[<]|[RST]B|Array<TestDataBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/lib-list|N|F|T|T|[IVO]getBigLibList|F|N|[QUY]list|List<TestDataBean>|F|F|F[<]|[RST]B|List<TestDataBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/parcel-array|N|F|T|T|[IVO]getBigParcelArray|F|N|[QUY]array|Array<TestParcelizeBean>|F|F|F[<]|[RST]B|Array<TestParcelizeBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/parcel-arraylist|N|F|T|T|[IVO]getBigParcelArrayList|F|N|[QUY]list|List<TestParcelizeBean>|F|F|F[<]|[RST]B|List<TestParcelizeBean>[<]|ApisBigData|F[<][<]
* [API]api/bigdata/parcel-list|N|F|T|T|[IVO]getBigParcelList|F|N|[QUY]list|List<TestParcelizeBean>|F|F|F[<]|[RST]B|List<TestParcelizeBean>[<]|ApisBigData|F[<][<]
* [API]api/serialization/Serializable-bean|N|F|T|T|[IVO]doSthSerializableBean|F|N|[QUY]serializableBean|com.mars.component.detail.value.TestSerializableBean|F|F|F[<]|[RST]B|com.mars.component.detail.value.TestSerializableBean[<]|com.mars.component.detail.api.ApiSerialization|F[<][<]
* [API]api/serialization/parcel-array|N|F|T|T|[IVO]doSthParcelArray|F|N|[QUY]parcels|Array<TestParcelizeBean>|F|F|F[<]|[RST]B|Array<TestParcelizeBean>[<]|com.mars.component.detail.api.ApiSerialization|F[<][<]
* [API]api/serialization/parcel-bean|N|F|T|T|[IVO]doSthParcelBean|F|N|[QUY]parcelBean|TestParcelizeBean?|F|F|F[<]|[RST]B|TestParcelizeBean[<]|com.mars.component.detail.api.ApiSerialization|F[<][<]
* [API]api/serialization/parcel-list|N|F|T|T|[IVO]doSthParcelList|F|N|[QUY]parcels|List<TestParcelizeBean>|F|F|F[<]|[RST]B|List<TestParcelizeBean>[<]|com.mars.component.detail.api.ApiSerializa
gitextract_e_w543jg/ ├── LICENSE ├── README.md ├── README_en.md ├── build.gradle ├── demo/ │ ├── demo_component_detail/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mars/ │ │ │ └── component/ │ │ │ └── detail/ │ │ │ ├── api/ │ │ │ │ ├── AipsInCompanion.kt │ │ │ │ ├── AipsInTop.kt │ │ │ │ ├── ApiSerialization.kt │ │ │ │ ├── Apis.kt │ │ │ │ ├── ApisAsyncReturn.kt │ │ │ │ ├── ApisBadCase.kt │ │ │ │ ├── ApisBigData.kt │ │ │ │ ├── ApisExt.kt │ │ │ │ ├── ApisProvideInstance.kt │ │ │ │ ├── ApisWithLiveData.kt │ │ │ │ └── ApisWithResultReceiver.kt │ │ │ ├── callback/ │ │ │ │ ├── CallbackTestDefault.kt │ │ │ │ └── CallbackTestInterface.kt │ │ │ ├── event/ │ │ │ │ └── Events.kt │ │ │ ├── objekt/ │ │ │ │ ├── ObjectTest.kt │ │ │ │ └── ObjectTestCteate.kt │ │ │ ├── test/ │ │ │ │ ├── TestDataTypeTask.kt │ │ │ │ ├── TestDefaultPathTask.kt │ │ │ │ └── TestGenericityTask.kt │ │ │ ├── ui/ │ │ │ │ ├── FirstPageActivity.kt │ │ │ │ ├── FirstPageFragment.kt │ │ │ │ └── SecondPageActivity.kt │ │ │ └── value/ │ │ │ ├── TestCompanionBean.kt │ │ │ ├── TestCreateBean.kt │ │ │ ├── TestDataBean.kt │ │ │ ├── TestDataNotRValueBean.kt │ │ │ ├── TestListBean.kt │ │ │ ├── TestNullableBean.kt │ │ │ ├── TestOriginalBean.kt │ │ │ ├── TestParcelizeBean.kt │ │ │ ├── TestSerializableBean.kt │ │ │ └── mapping/ │ │ │ ├── TestDataMappingBean.kt │ │ │ └── TestNestDataMappingBean.kt │ │ ├── ra/ │ │ │ └── rubik/ │ │ │ └── generate/ │ │ │ └── aggregate/ │ │ │ └── demo_com_mars_rubik_test_detail/ │ │ │ └── DetailAggregate.kt │ │ └── res/ │ │ ├── layout/ │ │ │ └── activity_a1.xml │ │ └── values/ │ │ └── strings.xml │ ├── demo_component_detail_java/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── aggregate/ │ │ │ └── rubik/ │ │ │ └── generate/ │ │ │ └── aggregate/ │ │ │ └── demo_com_mars_rubik_test_detail_java/ │ │ │ └── DetailJavaAggregate.kt │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mars/ │ │ │ └── component/ │ │ │ └── detail/ │ │ │ └── java/ │ │ │ ├── api/ │ │ │ │ ├── Apis.java │ │ │ │ ├── ApisAsyncReturn.java │ │ │ │ ├── ApisForInstance.java │ │ │ │ ├── BaseApis.java │ │ │ │ └── callback/ │ │ │ │ ├── Callback.java │ │ │ │ └── Callbackable.java │ │ │ ├── test/ │ │ │ │ └── TestJavaDataType.java │ │ │ ├── ui/ │ │ │ │ ├── FirstPageActivity.java │ │ │ │ └── SecondActivity.java │ │ │ └── value/ │ │ │ └── TestJavaBean.java │ │ └── res/ │ │ ├── layout/ │ │ │ └── activity_d1.xml │ │ └── values/ │ │ └── strings.xml │ ├── demo_component_home/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── aggregate/ │ │ │ └── rubik/ │ │ │ └── generate/ │ │ │ └── aggregate/ │ │ │ └── demo_com_mars_rubik_test_home/ │ │ │ └── HomeAggregate.kt │ │ ├── java/ │ │ │ └── com/ │ │ │ └── mars/ │ │ │ └── component/ │ │ │ └── home/ │ │ │ ├── api/ │ │ │ │ └── TestOne.kt │ │ │ ├── event/ │ │ │ │ └── Events.kt │ │ │ ├── test/ │ │ │ │ ├── java/ │ │ │ │ │ ├── TestJavaInvokeBuilderTask.java │ │ │ │ │ ├── TestJavaInvokeFunctionTask.java │ │ │ │ │ └── TestJavaInvokeJavaFunctionTask.java │ │ │ │ └── kotlin/ │ │ │ │ ├── TestBigData.kt │ │ │ │ ├── TestDataType.kt │ │ │ │ ├── TestKotlinInvokeActionFunctionJavaTask.kt │ │ │ │ ├── TestKotlinInvokeActionFunctionTask.kt │ │ │ │ ├── TestKotlinInvokeDSLTask.kt │ │ │ │ └── TestKotlinInvokeRouteFunctionTask.kt │ │ │ └── ui/ │ │ │ ├── HomeActivity.kt │ │ │ ├── HomeFragment.kt │ │ │ └── java/ │ │ │ └── JavaHomeActivity.java │ │ └── res/ │ │ ├── layout/ │ │ │ ├── activity_java.xml │ │ │ ├── activity_kotlin.xml │ │ │ └── fragment_b1.xml │ │ └── values/ │ │ └── strings.xml │ ├── demo_root_app/ │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── mars/ │ │ │ └── component/ │ │ │ └── test/ │ │ │ └── RouterTestCase.kt │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── baidu/ │ │ │ └── kcomponent/ │ │ │ ├── MainActivity.kt │ │ │ └── MainApplication.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── demo_until_library_a/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── com/ │ │ └── mars/ │ │ └── util_library/ │ │ ├── TestClassA.kt │ │ └── TestLibDataBean.kt │ ├── demo_until_library_b/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── mars/ │ │ │ └── util_library/ │ │ │ └── TestClassB.kt │ │ └── testex/ │ │ └── java/ │ │ └── com/ │ │ └── x/ │ │ ├── Xx.kt │ │ └── Yx.java │ ├── demo_until_library_c_java/ │ │ ├── build.gradle │ │ ├── consumer-rules.pro │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── TestClassC.kt │ ├── rubik-components.gradle │ └── rubik-packing.gradle ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── rubik/ │ ├── rubik_annotations/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── rubik/ │ │ └── annotations/ │ │ ├── context/ │ │ │ ├── REvent.java │ │ │ ├── REventRepeatable.java │ │ │ ├── assist/ │ │ │ │ ├── REventAssist.java │ │ │ │ └── REventAssistRepeatable.java │ │ │ └── instance/ │ │ │ ├── REventInstance.java │ │ │ └── REventInstanceRepeatable.java │ │ ├── route/ │ │ │ ├── RCallback.java │ │ │ ├── RExtend.java │ │ │ ├── RInstance.java │ │ │ ├── RInstanceRepeatable.java │ │ │ ├── RObject.java │ │ │ ├── RProperty.java │ │ │ ├── RResult.java │ │ │ ├── RRoute.java │ │ │ ├── RRouteRepeatable.java │ │ │ ├── RValue.java │ │ │ ├── assist/ │ │ │ │ ├── RRouteAssist.java │ │ │ │ └── RRouteAssistRepeatable.java │ │ │ ├── function/ │ │ │ │ ├── RDefaultType.java │ │ │ │ ├── RFunction.java │ │ │ │ └── RFunctionRepeatable.java │ │ │ ├── instance/ │ │ │ │ ├── RRouteInstance.java │ │ │ │ └── RRouteInstanceRepeatable.java │ │ │ └── page/ │ │ │ ├── RPage.java │ │ │ └── RPageRepeatable.java │ │ └── source/ │ │ ├── RAggregate.java │ │ ├── RComponent.java │ │ ├── RContext.java │ │ ├── RContextLib.java │ │ ├── RGenerated.java │ │ ├── RGeneratedRouter.java │ │ ├── RGeneratedValue.java │ │ └── ROriginalValue.java │ ├── rubik_context/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── rubik/ │ │ ├── context/ │ │ │ ├── Dependency.kt │ │ │ ├── Ext.kt │ │ │ ├── MavenSource.kt │ │ │ ├── Source.kt │ │ │ ├── container/ │ │ │ │ └── ContextsContainer.kt │ │ │ ├── exception/ │ │ │ │ ├── RubikComponentUndefinedException.kt │ │ │ │ ├── RubikDSLDefaultGroupNotSetException.kt │ │ │ │ ├── RubikDSLDefaultSchemeNotSetException.kt │ │ │ │ ├── RubikMultipleComponentDefinedException.kt │ │ │ │ └── RubikPluginNotApplyException.kt │ │ │ ├── extra/ │ │ │ │ ├── Context.kt │ │ │ │ ├── Injector.kt │ │ │ │ └── Rubik.kt │ │ │ ├── folder/ │ │ │ │ ├── ClassesTmpDir.kt │ │ │ │ ├── GeneratedSourceDir.kt │ │ │ │ └── LibsTmpDir.kt │ │ │ ├── id/ │ │ │ │ ├── ContextIdHolder.kt │ │ │ │ └── LeastContext.kt │ │ │ ├── log/ │ │ │ │ └── LogTags.kt │ │ │ ├── publication/ │ │ │ │ ├── BuildType.kt │ │ │ │ └── LibType.kt │ │ │ ├── router/ │ │ │ │ └── RouterRegister.kt │ │ │ └── utility/ │ │ │ ├── KApt.kt │ │ │ ├── Module.kt │ │ │ └── Uri.kt │ │ └── global/ │ │ └── GlobalConfig.kt │ ├── rubik_dsl/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── rubik/ │ │ └── dsl/ │ │ ├── DSLRubik.kt │ │ ├── RDSL.java │ │ ├── context/ │ │ │ ├── DSLContext.kt │ │ │ ├── dependency/ │ │ │ │ ├── DSLDependencies.kt │ │ │ │ └── DSLDependency.kt │ │ │ └── source/ │ │ │ ├── DSLMavenSource.kt │ │ │ ├── DSLProjectSource.kt │ │ │ └── DSLSource.kt │ │ ├── exception/ │ │ │ └── RubikDSLComponentUriException.kt │ │ ├── global/ │ │ │ ├── DSLGlobalConfig.kt │ │ │ ├── DSLGlobalContextConfig.kt │ │ │ └── DSLGlobalMavenConfig.kt │ │ └── packing/ │ │ ├── DSLExcept.kt │ │ ├── DSLPacking.kt │ │ ├── DSLPackingHow.kt │ │ └── DSLPackingNoSource.kt │ ├── rubik_kapt/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ ├── ByVersion.kt │ │ └── com/ │ │ └── rubik/ │ │ └── apt/ │ │ ├── Constants.kt │ │ ├── RContextProcessService.java │ │ ├── RContextProcessor.kt │ │ ├── annotation/ │ │ │ ├── AnnotationData.kt │ │ │ ├── Callback.kt │ │ │ ├── CodebaseObtainer.kt │ │ │ ├── Event.kt │ │ │ ├── EventInstance.kt │ │ │ ├── Object.kt │ │ │ ├── Route.kt │ │ │ ├── RouteInstance.kt │ │ │ └── Value.kt │ │ ├── codebase/ │ │ │ ├── AnnotationCodeBase.kt │ │ │ ├── ClassMirrorable.kt │ │ │ ├── RToken.kt │ │ │ ├── RouteCodeBase.kt │ │ │ ├── activity/ │ │ │ │ ├── ActivityCodeBase.kt │ │ │ │ └── ActivityPropertyCodeBase.kt │ │ │ ├── api/ │ │ │ │ ├── ApiCodeBase.kt │ │ │ │ ├── ApiInstanceCodeBase.kt │ │ │ │ ├── QueryCodeBase.kt │ │ │ │ └── ResultCodeBase.kt │ │ │ ├── callback/ │ │ │ │ ├── FunctionCallbackCodeBase.kt │ │ │ │ └── ObjectCallbackCodeBase.kt │ │ │ ├── context/ │ │ │ │ ├── ContextCodeBase.kt │ │ │ │ └── SectionCodeBase.kt │ │ │ ├── event/ │ │ │ │ ├── EventCodeBase.kt │ │ │ │ └── EventInstanceCodeBase.kt │ │ │ ├── invoker/ │ │ │ │ ├── Callbackable.kt │ │ │ │ ├── Instanceable.kt │ │ │ │ ├── InvokeContextCodeBase.kt │ │ │ │ ├── InvokeFunctionCodeBase.kt │ │ │ │ ├── InvokeOriginalCodeBase.kt │ │ │ │ ├── LambdaTypeCodeBase.kt │ │ │ │ ├── OriginalInvokable.kt │ │ │ │ └── TypeCodeBase.kt │ │ │ ├── objekt/ │ │ │ │ └── ObjectCodeBase.kt │ │ │ └── value/ │ │ │ ├── ValueCodeBase.kt │ │ │ └── ValueFieldCodeBase.kt │ │ ├── declare/ │ │ │ └── LeastContext.kt │ │ ├── files/ │ │ │ └── source/ │ │ │ ├── AggregateSourceFile.kt │ │ │ ├── ContextSourceFiles.kt │ │ │ ├── aggregate/ │ │ │ │ ├── CallbackTransformCode.kt │ │ │ │ ├── FactoryCode.kt │ │ │ │ ├── InvokeOriginalCode.kt │ │ │ │ ├── MappingType.kt │ │ │ │ ├── OnEventCode.kt │ │ │ │ ├── OnRouteCode.kt │ │ │ │ ├── QueryCode.kt │ │ │ │ └── RouteActionsImplCode.kt │ │ │ ├── context/ │ │ │ │ ├── TouchCode.kt │ │ │ │ ├── action/ │ │ │ │ │ ├── ApiRouteActionFunctionCode.kt │ │ │ │ │ └── inceface/ │ │ │ │ │ ├── RouteActionFunctionCode.kt │ │ │ │ │ └── RouteActionsSourceFile.kt │ │ │ │ └── dsl/ │ │ │ │ ├── ActivityDSLFuntionCode.kt │ │ │ │ ├── ApiDSLFunctionCode.kt │ │ │ │ └── DSLRouteContextSourceFiles.kt │ │ │ ├── identity/ │ │ │ │ └── IdentitySourceFile.kt │ │ │ └── mirror/ │ │ │ ├── callback/ │ │ │ │ └── CallbackSourceFiles.kt │ │ │ ├── objekt/ │ │ │ │ └── ObjectSourceFiles.kt │ │ │ └── value/ │ │ │ ├── ValueCode.kt │ │ │ └── ValueSourceFiles.kt │ │ ├── namebox/ │ │ │ ├── FileNameBox.kt │ │ │ └── MappingMatrix.kt │ │ ├── plugin/ │ │ │ ├── Arguments.kt │ │ │ └── PluginArguments.kt │ │ └── utility/ │ │ ├── Code.kt │ │ ├── Element.kt │ │ ├── FilePath.kt │ │ ├── KotlinPoet.kt │ │ └── RType.kt │ ├── rubik_maven_repositories.gradle │ ├── rubik_picker/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ └── java/ │ │ └── com/ │ │ └── rubik/ │ │ ├── pick/ │ │ │ ├── Excepted.kt │ │ │ ├── PickHow.kt │ │ │ ├── PickWhat.kt │ │ │ └── PickWhere.kt │ │ └── picker/ │ │ ├── ContextPickHow.kt │ │ ├── ContextPicker.kt │ │ ├── MavenPicker.kt │ │ ├── PickCase.kt │ │ ├── Picker.kt │ │ ├── ProjectPicker.kt │ │ ├── TmpDirLibPicker.kt │ │ ├── container/ │ │ │ ├── ContextPickHowContainer.kt │ │ │ └── PickedContextsContainer.kt │ │ ├── exception/ │ │ │ ├── RubikMavenDependencyVersionNotSetException.kt │ │ │ ├── RubikMavenVariantNotSetException.kt │ │ │ ├── RubikMavenVersionNotSetException.kt │ │ │ ├── RubikProjectNotFoundException.kt │ │ │ ├── RubikProjectPathNotSetException.kt │ │ │ └── RubikPublicationTypeNotConfigureException.kt │ │ ├── extra/ │ │ │ ├── Context.kt │ │ │ └── Injector.kt │ │ └── log/ │ │ └── LogTags.kt │ ├── rubik_plugins/ │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── java/ │ │ │ ├── ByVersion.kt │ │ │ └── com/ │ │ │ └── rubik/ │ │ │ └── plugins/ │ │ │ ├── MainPlugin.kt │ │ │ ├── RubikPlugin.kt │ │ │ ├── analyst/ │ │ │ │ └── AnalystPlugin.kt │ │ │ ├── basic/ │ │ │ │ ├── Constants.kt │ │ │ │ ├── LogTags.kt │ │ │ │ ├── exception/ │ │ │ │ │ ├── RubikException.kt │ │ │ │ │ ├── RubikKaptDependencyNotSetException.kt │ │ │ │ │ ├── RubikNotCalculatePublicationException.kt │ │ │ │ │ ├── RubikPackingNotSupportException.kt │ │ │ │ │ ├── RubikProjectNoKotlinAndroidPluginException.kt │ │ │ │ │ ├── RubikRouterAndContextVersionsNotMatchException.kt │ │ │ │ │ └── RubikRouterDependencyNotSetException.kt │ │ │ │ ├── extra/ │ │ │ │ │ └── Rubik.kt │ │ │ │ ├── transform/ │ │ │ │ │ ├── MakeLibsTransform.kt │ │ │ │ │ └── RubikTransform.kt │ │ │ │ └── utility/ │ │ │ │ ├── Code.kt │ │ │ │ ├── Javassist.kt │ │ │ │ └── KotlinPoet.kt │ │ │ ├── context/ │ │ │ │ ├── ContextPlugin.kt │ │ │ │ ├── controller/ │ │ │ │ │ ├── AllContextController.kt │ │ │ │ │ ├── ComponentIdGeneratingController.kt │ │ │ │ │ ├── ContextKaptController.kt │ │ │ │ │ └── ProjectSyncController.kt │ │ │ │ └── generate/ │ │ │ │ └── file/ │ │ │ │ ├── IdentitySourceFile.kt │ │ │ │ └── ProjectSettingsFile.kt │ │ │ ├── extension/ │ │ │ │ ├── RubikExtension.kt │ │ │ │ └── RubikSingletonExtension.kt │ │ │ └── shell/ │ │ │ ├── ShellPlugin.kt │ │ │ ├── checker/ │ │ │ │ ├── CheckClassesRule.kt │ │ │ │ ├── CheckClassesTransform.kt │ │ │ │ ├── context/ │ │ │ │ │ ├── CheckContextVersionRule.kt │ │ │ │ │ └── CheckContextVersionTransform.kt │ │ │ │ └── router/ │ │ │ │ ├── CheckRouterVersionRule.kt │ │ │ │ └── CheckRouterVersionTransform.kt │ │ │ ├── controller/ │ │ │ │ ├── ShellConfigGeneratingController.kt │ │ │ │ └── ShellSourceGeneratingController.kt │ │ │ └── generate/ │ │ │ └── files/ │ │ │ ├── RubikIdCheckerSourceFile.kt │ │ │ └── RubikInitializerSourceFile.kt │ │ └── resources/ │ │ └── META-INF/ │ │ └── gradle-plugins/ │ │ ├── rubik-analyst.properties │ │ ├── rubik-context.properties │ │ ├── rubik-shell.properties │ │ └── rubik.properties │ ├── rubik_publish/ │ │ ├── build.gradle │ │ └── src/ │ │ ├── k1_5/ │ │ │ └── java/ │ │ │ └── ResetKotlinCompileTask.kt │ │ ├── k1_7/ │ │ │ └── java/ │ │ │ └── ResetKotlinCompileTask.kt │ │ └── main/ │ │ └── java/ │ │ ├── ByPluginVersion.kt │ │ └── com/ │ │ └── rubik/ │ │ └── publish/ │ │ ├── exception/ │ │ │ ├── RubikNoClassesToJarException.kt │ │ │ ├── RubikNoKaptTaskFoundException.kt │ │ │ ├── RubikNoKotlinCompileFoundException.kt │ │ │ ├── RubikNoSourceToCompileException.kt │ │ │ ├── RubikPublishVersionNotSetException.kt │ │ │ └── RubikTaskStateError.kt │ │ ├── extension/ │ │ │ └── ContextRecordExtension.kt │ │ ├── extra/ │ │ │ ├── Context.kt │ │ │ ├── Injector.kt │ │ │ └── Rubik.kt │ │ ├── log/ │ │ │ └── LogTags.kt │ │ ├── publication/ │ │ │ ├── Component.kt │ │ │ ├── Jar.kt │ │ │ ├── Lib.kt │ │ │ └── SourceCode.kt │ │ ├── record/ │ │ │ ├── ContextPublicationRecords.kt │ │ │ ├── PublicationRecord.kt │ │ │ ├── generate/ │ │ │ │ └── file/ │ │ │ │ └── RubikPublicationRecordFiles.kt │ │ │ └── version/ │ │ │ └── StandardVersion.kt │ │ └── task/ │ │ ├── GlobalPublishTasksController.kt │ │ ├── PublishContextTask.kt │ │ ├── PublishContextTaskController.kt │ │ ├── PublishContextTaskGroup.kt │ │ ├── PublishContextTasksContainer.kt │ │ ├── both/ │ │ │ ├── ComponentAndContextLibsTask.kt │ │ │ ├── ComponentAndContextLibsTaskGraphic.kt │ │ │ ├── PackingLinkComponentAndContextLibsTask.kt │ │ │ ├── VariantComponentAndContextLibsTask.kt │ │ │ └── VariantComponentAndContextLibsTaskGraphic.kt │ │ ├── component/ │ │ │ ├── ComponentTask.kt │ │ │ ├── ComponentTaskGraphic.kt │ │ │ ├── PackingLinkComponentTask.kt │ │ │ ├── VariantComponentTask.kt │ │ │ └── VariantComponentTaskGraphic.kt │ │ ├── global/ │ │ │ ├── AllComponentAndContextLibsTask.kt │ │ │ ├── AllComponentTask.kt │ │ │ ├── AllContextLibsTask.kt │ │ │ ├── TagComponentAndContextLibsTask.kt │ │ │ ├── TagComponentTask.kt │ │ │ └── TagContextLibsTask.kt │ │ ├── lib/ │ │ │ ├── ContextLibTask.kt │ │ │ ├── ContextLibTaskGraphic.kt │ │ │ └── state/ │ │ │ └── ContextLibStateMachine.kt │ │ ├── name/ │ │ │ ├── PublishByMeaning.kt │ │ │ ├── PublishTaskName.kt │ │ │ └── PublishTaskNameMeaning.kt │ │ ├── provider/ │ │ │ ├── CopySourceTaskProvider.kt │ │ │ ├── JarTaskProvider.kt │ │ │ └── KotlinCompileTaskProvider.kt │ │ └── target/ │ │ ├── TaskTarget.kt │ │ ├── TaskTargetContainer.kt │ │ └── TaskTargetController.kt │ └── rubik_router/ │ ├── build.gradle │ ├── consumer-rules.pro │ ├── proguard-rules.pro │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── java/ │ │ └── com/ │ │ └── rubik/ │ │ ├── Rubik.kt │ │ ├── activity/ │ │ │ └── Launcher.kt │ │ ├── builder/ │ │ │ ├── query/ │ │ │ │ ├── BundleQueriesBuilder.kt │ │ │ │ ├── DSLLaunchQueriesBuilder.kt │ │ │ │ ├── LinkedLaunchQueriesBuilder.kt │ │ │ │ ├── QueriesBuilder.kt │ │ │ │ └── QueriesFrameable.kt │ │ │ ├── result/ │ │ │ │ └── ResultsBuildable.kt │ │ │ └── router/ │ │ │ ├── BasicRouterBuilder.kt │ │ │ ├── DSLApiRouterBuilder.kt │ │ │ ├── DSLLaunchRouterBuilder.kt │ │ │ ├── LinkedApiRouterBuilder.kt │ │ │ ├── LinkedLaunchRouterBuilder.kt │ │ │ └── RouterBuildable.kt │ │ ├── context/ │ │ │ ├── Aggregatable.kt │ │ │ ├── LifeCycleEvent.kt │ │ │ └── RouteActions.kt │ │ ├── identity/ │ │ │ ├── IdentityChecker.kt │ │ │ ├── RIdentity.kt │ │ │ └── exception/ │ │ │ ├── DuplicateComponentException.kt │ │ │ ├── DuplicateContextException.kt │ │ │ ├── RIdentityCheckFailedException.kt │ │ │ ├── RIdentityNotFoundException.kt │ │ │ └── UriNotConformException.kt │ │ ├── logger/ │ │ │ └── Logger.kt │ │ ├── route/ │ │ │ ├── LaunchQueries.kt │ │ │ ├── Object.kt │ │ │ ├── Queries.kt │ │ │ ├── Query.kt │ │ │ ├── Result.kt │ │ │ ├── ResultGroups.kt │ │ │ ├── Results.kt │ │ │ ├── exception/ │ │ │ │ ├── BadAggregatableClassException.kt │ │ │ │ ├── BadPathOrVersionException.kt │ │ │ │ ├── BadQueryException.kt │ │ │ │ ├── BadResultException.kt │ │ │ │ ├── BadTypeException.kt │ │ │ │ ├── BadUriException.kt │ │ │ │ ├── BadValueException.kt │ │ │ │ ├── DuplicateRegisteredUriException.kt │ │ │ │ └── ParcelableNoCreatorException.kt │ │ │ └── mapping/ │ │ │ ├── Bundle.kt │ │ │ ├── JsonMapping.kt │ │ │ ├── LiveDataMapping.kt │ │ │ ├── ParcelMapping.kt │ │ │ └── TypeMapping.kt │ │ └── router/ │ │ ├── Router.kt │ │ ├── RouterResult.kt │ │ ├── TouchHolder.kt │ │ ├── annotations/ │ │ │ └── RInvariant.kt │ │ ├── exception/ │ │ │ ├── BadRubikVersionException.kt │ │ │ ├── BadUriException.kt │ │ │ ├── RContextNotFoundException.kt │ │ │ ├── RubikAggregateNotFoundException.kt │ │ │ └── RubikNotInitException.kt │ │ └── uri/ │ │ └── Path.kt │ └── res/ │ └── values/ │ └── strings.xml ├── rubik_libs_repository/ │ ├── demo_com_mars_rubik_test_detail/ │ │ ├── context/ │ │ │ └── detail-lib-context.jar │ │ └── context_sources/ │ │ └── detail-lib-context-sources.jar │ ├── demo_com_mars_rubik_test_detail_java/ │ │ ├── context/ │ │ │ └── detail-java-lib-context.jar │ │ └── context_sources/ │ │ └── detail-java-lib-context-sources.jar │ ├── demo_com_mars_rubik_test_home/ │ │ ├── context/ │ │ │ └── home-lib-context.jar │ │ └── context_sources/ │ │ └── home-lib-context-sources.jar │ ├── rubik-demo_com_mars_rubik_test_detail-publication-records.gradle │ ├── rubik-demo_com_mars_rubik_test_detail_java-publication-records.gradle │ └── rubik-demo_com_mars_rubik_test_home-publication-records.gradle ├── rubik_maven_local_repository/ │ └── com/ │ ├── kotlin/ │ │ └── blueprint/ │ │ ├── 5.1.12-K1_5/ │ │ │ ├── blueprint-5.1.12-K1_5.jar │ │ │ ├── blueprint-5.1.12-K1_5.jar.md5 │ │ │ ├── blueprint-5.1.12-K1_5.jar.sha1 │ │ │ └── blueprint-5.1.12-K1_5.pom │ │ ├── maven-metadata.xml │ │ ├── maven-metadata.xml.md5 │ │ ├── maven-metadata.xml.sha1 │ │ ├── maven-metadata.xml.sha256 │ │ └── maven-metadata.xml.sha512 │ ├── ktnail/ │ │ ├── gradle/ │ │ │ ├── 0.1.1-AGBT4_2-K1_5/ │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.md5 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha1 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha256 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.jar.sha512 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.md5 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha1 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha256 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.module.sha512 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.md5 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.sha1 │ │ │ │ ├── gradle-0.1.1-AGBT4_2-K1_5.pom.sha256 │ │ │ │ └── gradle-0.1.1-AGBT4_2-K1_5.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ └── x/ │ │ ├── 0.0.62-K1_5/ │ │ │ ├── x-0.0.62-K1_5.jar │ │ │ ├── x-0.0.62-K1_5.jar.md5 │ │ │ ├── x-0.0.62-K1_5.jar.sha1 │ │ │ └── x-0.0.62-K1_5.pom │ │ ├── 0.0.67-K1_5/ │ │ │ ├── x-0.0.67-K1_5.jar │ │ │ ├── x-0.0.67-K1_5.jar.md5 │ │ │ ├── x-0.0.67-K1_5.jar.sha1 │ │ │ ├── x-0.0.67-K1_5.jar.sha256 │ │ │ ├── x-0.0.67-K1_5.jar.sha512 │ │ │ ├── x-0.0.67-K1_5.module │ │ │ ├── x-0.0.67-K1_5.module.md5 │ │ │ ├── x-0.0.67-K1_5.module.sha1 │ │ │ ├── x-0.0.67-K1_5.module.sha256 │ │ │ ├── x-0.0.67-K1_5.module.sha512 │ │ │ ├── x-0.0.67-K1_5.pom │ │ │ ├── x-0.0.67-K1_5.pom.md5 │ │ │ ├── x-0.0.67-K1_5.pom.sha1 │ │ │ ├── x-0.0.67-K1_5.pom.sha256 │ │ │ └── x-0.0.67-K1_5.pom.sha512 │ │ ├── maven-metadata.xml │ │ ├── maven-metadata.xml.md5 │ │ ├── maven-metadata.xml.sha1 │ │ ├── maven-metadata.xml.sha256 │ │ └── maven-metadata.xml.sha512 │ ├── mars/ │ │ └── rubik-test/ │ │ ├── detail-component-company1-channel1-release/ │ │ │ ├── 0.0.1-DEV/ │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.md5 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha1 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha256 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.aar.sha512 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.md5 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha1 │ │ │ │ ├── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha256 │ │ │ │ └── detail-component-company1-channel1-release-0.0.1-DEV.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── detail-component-company1-channel2-release/ │ │ │ ├── 0.0.1-DEV/ │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.md5 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha1 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha256 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.aar.sha512 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.md5 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha1 │ │ │ │ ├── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha256 │ │ │ │ └── detail-component-company1-channel2-release-0.0.1-DEV.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── detail-java-component-release/ │ │ │ ├── 0.0.1-DEV/ │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.md5 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha1 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha256 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.aar.sha512 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.md5 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.sha1 │ │ │ │ ├── detail-java-component-release-0.0.1-DEV.pom.sha256 │ │ │ │ └── detail-java-component-release-0.0.1-DEV.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── detail-java-lib-context/ │ │ │ ├── 0.0.1-DEV/ │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.md5 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha1 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha256 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV-sources.jar.sha512 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.md5 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha1 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha256 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.jar.sha512 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.md5 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.sha1 │ │ │ │ ├── detail-java-lib-context-0.0.1-DEV.pom.sha256 │ │ │ │ └── detail-java-lib-context-0.0.1-DEV.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── detail-lib-context/ │ │ │ ├── 0.0.1-DEV/ │ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar │ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.md5 │ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha1 │ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha256 │ │ │ │ ├── detail-lib-context-0.0.1-DEV-sources.jar.sha512 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar │ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.md5 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha1 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha256 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.jar.sha512 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom │ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.md5 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.sha1 │ │ │ │ ├── detail-lib-context-0.0.1-DEV.pom.sha256 │ │ │ │ └── detail-lib-context-0.0.1-DEV.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ └── home-lib-context/ │ │ ├── 0.0.1-DEV/ │ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar │ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.md5 │ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha1 │ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha256 │ │ │ ├── home-lib-context-0.0.1-DEV-sources.jar.sha512 │ │ │ ├── home-lib-context-0.0.1-DEV.jar │ │ │ ├── home-lib-context-0.0.1-DEV.jar.md5 │ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha1 │ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha256 │ │ │ ├── home-lib-context-0.0.1-DEV.jar.sha512 │ │ │ ├── home-lib-context-0.0.1-DEV.pom │ │ │ ├── home-lib-context-0.0.1-DEV.pom.md5 │ │ │ ├── home-lib-context-0.0.1-DEV.pom.sha1 │ │ │ ├── home-lib-context-0.0.1-DEV.pom.sha256 │ │ │ └── home-lib-context-0.0.1-DEV.pom.sha512 │ │ ├── maven-metadata.xml │ │ ├── maven-metadata.xml.md5 │ │ ├── maven-metadata.xml.sha1 │ │ ├── maven-metadata.xml.sha256 │ │ └── maven-metadata.xml.sha512 │ ├── rubik/ │ │ ├── annotations/ │ │ │ ├── 1.10.0.0-LOCAL/ │ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar │ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.md5 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha1 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha256 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.jar.sha512 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom │ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.md5 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.sha1 │ │ │ │ ├── annotations-1.10.0.0-LOCAL.pom.sha256 │ │ │ │ └── annotations-1.10.0.0-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── context/ │ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/ │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256 │ │ │ │ └── context-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── dsl/ │ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/ │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256 │ │ │ │ └── dsl-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── kapt/ │ │ │ ├── 1.10.0.0-K1_5-LOCAL/ │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.md5 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.md5 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── kapt-1.10.0.0-K1_5-LOCAL.pom.sha256 │ │ │ │ └── kapt-1.10.0.0-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── picker/ │ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/ │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256 │ │ │ │ └── picker-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── plugins/ │ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/ │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256 │ │ │ │ └── plugins-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ ├── publish/ │ │ │ ├── 1.10.0.0-AGBT4_2-K1_5-LOCAL/ │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.md5 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha1 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha256 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.jar.sha512 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.md5 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha1 │ │ │ │ ├── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha256 │ │ │ │ └── publish-1.10.0.0-AGBT4_2-K1_5-LOCAL.pom.sha512 │ │ │ ├── maven-metadata.xml │ │ │ ├── maven-metadata.xml.md5 │ │ │ ├── maven-metadata.xml.sha1 │ │ │ ├── maven-metadata.xml.sha256 │ │ │ └── maven-metadata.xml.sha512 │ │ └── router/ │ │ ├── 1.10.0.0-K1_5-LOCAL/ │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.md5 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha1 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha256 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.jar.sha512 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.md5 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.sha1 │ │ │ ├── router-1.10.0.0-K1_5-LOCAL.pom.sha256 │ │ │ └── router-1.10.0.0-K1_5-LOCAL.pom.sha512 │ │ ├── maven-metadata.xml │ │ ├── maven-metadata.xml.md5 │ │ ├── maven-metadata.xml.sha1 │ │ ├── maven-metadata.xml.sha256 │ │ └── maven-metadata.xml.sha512 │ └── synccode/ │ └── syncer/ │ ├── 0.0.8-K1_5/ │ │ ├── syncer-0.0.8-K1_5.jar │ │ ├── syncer-0.0.8-K1_5.jar.md5 │ │ ├── syncer-0.0.8-K1_5.jar.sha1 │ │ ├── syncer-0.0.8-K1_5.jar.sha256 │ │ ├── syncer-0.0.8-K1_5.jar.sha512 │ │ ├── syncer-0.0.8-K1_5.module │ │ ├── syncer-0.0.8-K1_5.module.md5 │ │ ├── syncer-0.0.8-K1_5.module.sha1 │ │ ├── syncer-0.0.8-K1_5.module.sha256 │ │ ├── syncer-0.0.8-K1_5.module.sha512 │ │ ├── syncer-0.0.8-K1_5.pom │ │ ├── syncer-0.0.8-K1_5.pom.md5 │ │ ├── syncer-0.0.8-K1_5.pom.sha1 │ │ ├── syncer-0.0.8-K1_5.pom.sha256 │ │ └── syncer-0.0.8-K1_5.pom.sha512 │ ├── maven-metadata.xml │ ├── maven-metadata.xml.md5 │ ├── maven-metadata.xml.sha1 │ ├── maven-metadata.xml.sha256 │ └── maven-metadata.xml.sha512 ├── settings-rubik.gradle ├── settings.gradle ├── test_app/ │ ├── build.gradle │ ├── proguard-rules.pro │ └── src/ │ ├── androidTest/ │ │ └── java/ │ │ └── com/ │ │ └── rubik/ │ │ └── test/ │ │ ├── EventTest.kt │ │ ├── LaunchTest.kt │ │ ├── PathTest.kt │ │ ├── RouterBuilderTest.kt │ │ ├── RouterResultTest.kt │ │ ├── RouterTest.kt │ │ ├── RubikTest.kt │ │ ├── TouchTest.kt │ │ └── router/ │ │ ├── TestAggregate.kt │ │ ├── TestSimpleAggregate.kt │ │ └── TestSimpleAggregateFactory.kt │ ├── main/ │ │ ├── AndroidManifest.xml │ │ ├── java/ │ │ │ └── com/ │ │ │ └── rubik/ │ │ │ └── test/ │ │ │ └── TestActivity.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ └── activity_test.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test/ │ └── java/ │ └── com/ │ └── rubik/ │ └── test/ │ └── ExampleUnitTest.kt ├── version-adapter.gradle └── versions.gradle
SYMBOL INDEX (46 symbols across 17 files)
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/Apis.java
class Apis (line 5) | public class Apis extends BaseApis {
method doSth (line 8) | @RRoute(path = "doSth")
method doSthCompanion (line 20) | @RRoute(path = "doSthStatic")
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/ApisAsyncReturn.java
class ApisAsyncReturn (line 8) | public class ApisAsyncReturn extends BaseApis {
method doSthAsyncOpen (line 10) | @RRoute(path = "do-sth-async-open")
method doSthAsyncInterface (line 16) | @RRoute(path = "do-sth-async-interface")
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/ApisForInstance.java
class ApisForInstance (line 7) | public class ApisForInstance extends BaseApis {
method ApisForInstance (line 11) | @RRouteInstance(provideForPath = "do-sth-bean-provide-instance-by-func")
method doSthBean (line 17) | @RRoute(path = "do-sth-bean-provide-instance-by-func")
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/BaseApis.java
class BaseApis (line 3) | public class BaseApis {
method println (line 4) | public static void println(String msg) {
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/callback/Callback.java
class Callback (line 7) | public class Callback {
method onCallNone (line 8) | public void onCallNone(String v1, int v2) {
method onCall (line 12) | @RResult
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/callback/Callbackable.java
type Callbackable (line 5) | public interface Callbackable {
method onCall (line 6) | void onCall(@Nullable String v1, int v2);
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/test/TestJavaDataType.java
class TestJavaDataType (line 13) | public class TestJavaDataType {
method println (line 14) | private static void println(String msg) {
method doTestDataType1 (line 18) | @RRoute(path = "doTestDataType1", forResult = true)
method doTestDataType1_2 (line 25) | @RRoute(path = "doTestDataType1-2", forResult = true)
method doTestDataType2 (line 32) | @RRoute(path = "doTestDataType2", forResult = true)
method doTestDataType2_2 (line 39) | @RRoute(path = "doTestDataType2-2", forResult = true)
method doTestDataType3 (line 45) | @RRoute(path = "doTestDataType3", forResult = true)
method doTestDataType4 (line 52) | @RRoute(path = "doTestDataType4", forResult = true)
method doTestDataType5 (line 59) | @RRoute(path = "doTestDataType5", forResult = true)
method doTestDataType6 (line 66) | @RRoute(path = "doTestDataType6", forResult = true)
method doTestDataType7 (line 73) | @RRoute(path = "doTestDataType7", forResult = true)
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/ui/FirstPageActivity.java
class FirstPageActivity (line 21) | @RPage(path = "activity/java_page1")
method onCreate (line 36) | @Override
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/ui/SecondActivity.java
class SecondActivity (line 14) | @RPage(path = "activity/java_page2/{key_str1}/{key_str2}/{key_str3}")
method onCreate (line 29) | @Override
FILE: demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/value/TestJavaBean.java
class TestJavaBean (line 8) | @RValue
method TestJavaBean (line 10) | public TestJavaBean(int d1, String d2) {
FILE: demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeBuilderTask.java
class TestJavaInvokeBuilderTask (line 13) | public class TestJavaInvokeBuilderTask {
method invoke (line 14) | public void invoke(Context context, Function1<String, Unit> onFinish) {
FILE: demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeFunctionTask.java
class TestJavaInvokeFunctionTask (line 12) | public class TestJavaInvokeFunctionTask {
method invoke (line 13) | public void invoke(Context context, Function1<String, Unit> onFinish) {
FILE: demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeJavaFunctionTask.java
class TestJavaInvokeJavaFunctionTask (line 10) | public class TestJavaInvokeJavaFunctionTask {
method invoke (line 11) | public void invoke(Context context, Function1<String, Unit> onFinish) {
FILE: demo/demo_component_home/src/main/java/com/mars/component/home/ui/java/JavaHomeActivity.java
class JavaHomeActivity (line 25) | public class JavaHomeActivity extends AppCompatActivity{
method onCreate (line 29) | @Override
FILE: demo/demo_until_library_b/src/testex/java/com/x/Yx.java
class Yx (line 3) | public class Yx {
FILE: rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/function/RDefaultType.java
class RDefaultType (line 3) | public class RDefaultType { }
FILE: rubik/rubik_kapt/src/main/java/com/rubik/apt/RContextProcessService.java
class RContextProcessService (line 16) | @SupportedAnnotationTypes({
method init (line 45) | @Override
method process (line 53) | @Override
Condensed preview — 794 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,230K chars).
[
{
"path": "LICENSE",
"chars": 11357,
"preview": " Apache License\n Version 2.0, January 2004\n "
},
{
"path": "README.md",
"chars": 4450,
"preview": "\n<div align=\"center\">\n <p> <img width=\"600\" src=\"https://user-images.githubusercontent.com/7745189/174275733-ff1ec56e-8"
},
{
"path": "README_en.md",
"chars": 7069,
"preview": "\n<div align=\"center\">\n <p> <img width=\"600\" src=\"https://user-images.githubusercontent.com/7745189/174275733-ff1ec56e-8"
},
{
"path": "build.gradle",
"chars": 3590,
"preview": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\napply plugin: 'rubik"
},
{
"path": "demo/demo_component_detail/build.gradle",
"chars": 1459,
"preview": "apply plugin: 'com.android.library'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\n\nandroid {\n"
},
{
"path": "demo/demo_component_detail/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_component_detail/proguard-rules.pro",
"chars": 751,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_component_detail/src/main/AndroidManifest.xml",
"chars": 307,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.mars.component.detail\">\n <appli"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/AipsInCompanion.kt",
"chars": 748,
"preview": "package com.mars.component.detail.api\n\nimport com.rubik.annotations.route.RRoute\n\nclass AipsInCompanion {\n companion "
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/AipsInTop.kt",
"chars": 719,
"preview": "package com.mars.component.detail.api\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annotations."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApiSerialization.kt",
"chars": 1884,
"preview": "package com.mars.component.detail.api\n\nimport com.mars.component.detail.value.TestParcelizeBean\nimport com.mars.componen"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/Apis.kt",
"chars": 4625,
"preview": "package com.mars.component.detail.api\n\nimport android.app.Activity\nimport android.content.Context\nimport android.view.Vi"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisAsyncReturn.kt",
"chars": 3026,
"preview": "package com.mars.component.detail.api\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annotations."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisBadCase.kt",
"chars": 1471,
"preview": "package com.mars.component.detail.api\n\nimport android.content.Context\nimport androidx.lifecycle.LiveData\nimport com.rubi"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisBigData.kt",
"chars": 2890,
"preview": "package com.mars.component.detail.api\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.mars.component.det"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisExt.kt",
"chars": 273,
"preview": "package com.mars.component.detail.api\n\nimport com.rubik.annotations.route.RExtend\nimport com.rubik.annotations.route.RRo"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisProvideInstance.kt",
"chars": 1615,
"preview": "package com.mars.component.detail.api\n\n\nimport com.rubik.annotations.route.RInstance\nimport com.rubik.annotations.route."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisWithLiveData.kt",
"chars": 1239,
"preview": "package com.mars.component.detail.api\n\nimport android.os.Handler\nimport androidx.lifecycle.LiveData\nimport androidx.life"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/api/ApisWithResultReceiver.kt",
"chars": 1224,
"preview": "package com.mars.component.detail.api\n\nimport android.os.Bundle\nimport android.os.Handler\nimport android.os.ResultReceiv"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/callback/CallbackTestDefault.kt",
"chars": 271,
"preview": "package com.mars.component.detail.callback\n\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annota"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/callback/CallbackTestInterface.kt",
"chars": 724,
"preview": "package com.mars.component.detail.callback\n\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annota"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/event/Events.kt",
"chars": 2629,
"preview": "package com.mars.component.detail.event\n\nimport android.content.Context\nimport com.mars.component.detail.value.TestDataB"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/objekt/ObjectTest.kt",
"chars": 3387,
"preview": "package com.mars.component.detail.objekt\n\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annotati"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/objekt/ObjectTestCteate.kt",
"chars": 638,
"preview": "package com.mars.component.detail.objekt\n\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.annotati"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestDataTypeTask.kt",
"chars": 6197,
"preview": "package com.mars.component.detail.test\n\nimport android.content.Context\nimport com.mars.component.detail.value.TestNullab"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestDefaultPathTask.kt",
"chars": 462,
"preview": "package com.mars.component.detail.test\n\nimport android.app.Activity\nimport com.rubik.annotations.route.RRoute\nimport com"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/test/TestGenericityTask.kt",
"chars": 1919,
"preview": "package com.mars.component.detail.test\n\nimport androidx.lifecycle.LiveData\nimport com.mars.component.detail.value.TestNu"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/FirstPageActivity.kt",
"chars": 3598,
"preview": "package com.mars.component.detail.ui\n\nimport android.os.Bundle\nimport androidx.appcompat.app.AppCompatActivity\nimport co"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/FirstPageFragment.kt",
"chars": 338,
"preview": "package com.mars.component.detail.ui\n\nimport androidx.fragment.app.Fragment\nimport com.rubik.annotations.route.RRoute\nim"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/ui/SecondPageActivity.kt",
"chars": 1301,
"preview": "package com.mars.component.detail.ui\n\nimport android.content.Intent\nimport android.os.Bundle\nimport androidx.appcompat.a"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestCompanionBean.kt",
"chars": 281,
"preview": "package com.mars.component.detail.value\n\nimport com.rubik.annotations.route.RValue\n\n@RValue\ndata class TestCompanionBean"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestCreateBean.kt",
"chars": 362,
"preview": "package com.mars.component.detail.value\n\nimport com.google.gson.annotations.SerializedName\nimport com.rubik.annotations."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestDataBean.kt",
"chars": 246,
"preview": "package com.mars.component.detail.value\n\nimport com.rubik.annotations.route.RValue\nimport com.google.gson.annotations.Se"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestDataNotRValueBean.kt",
"chars": 247,
"preview": "package com.mars.component.detail.value\n\nimport com.rubik.annotations.route.RValue\nimport com.google.gson.annotations.Se"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestListBean.kt",
"chars": 276,
"preview": "package com.mars.component.detail.value\n\nimport com.rubik.annotations.route.RValue\nimport com.google.gson.annotations.Se"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestNullableBean.kt",
"chars": 252,
"preview": "package com.mars.component.detail.value\n\nimport com.google.gson.annotations.SerializedName\nimport com.rubik.annotations."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestOriginalBean.kt",
"chars": 206,
"preview": "package com.mars.component.detail.value\n\nimport java.io.Serializable\nimport com.rubik.annotations.source.ROriginalValue\n"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestParcelizeBean.kt",
"chars": 1004,
"preview": "package com.mars.component.detail.value\n\nimport android.os.Parcel\nimport android.os.Parcelable\nimport com.google.gson.an"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/TestSerializableBean.kt",
"chars": 305,
"preview": "package com.mars.component.detail.value\n\nimport com.google.gson.annotations.SerializedName\nimport com.rubik.annotations."
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/mapping/TestDataMappingBean.kt",
"chars": 288,
"preview": "package com.mars.component.detail.value.mapping\n\nimport com.google.gson.annotations.SerializedName\nimport com.rubik.anno"
},
{
"path": "demo/demo_component_detail/src/main/java/com/mars/component/detail/value/mapping/TestNestDataMappingBean.kt",
"chars": 373,
"preview": "package com.mars.component.detail.value.mapping\n\nimport com.mars.component.detail.value.TestDataBean\nimport com.rubik.an"
},
{
"path": "demo/demo_component_detail/src/main/ra/rubik/generate/aggregate/demo_com_mars_rubik_test_detail/DetailAggregate.kt",
"chars": 142934,
"preview": "package rubik.generate.aggregate.demo_com_mars_rubik_test_detail\n\nimport android.app.Activity\nimport android.content.Con"
},
{
"path": "demo/demo_component_detail/src/main/res/layout/activity_a1.xml",
"chars": 695,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<androidx.constraintlayout.widget.ConstraintLayout xmlns:android=\"http://schemas."
},
{
"path": "demo/demo_component_detail/src/main/res/values/strings.xml",
"chars": 73,
"preview": "<resources>\n <string name=\"app_name\">ComponentA</string>\n</resources>\n"
},
{
"path": "demo/demo_component_detail_java/build.gradle",
"chars": 1263,
"preview": "apply plugin: 'com.android.library'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\n\nandroid {\n"
},
{
"path": "demo/demo_component_detail_java/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_component_detail_java/proguard-rules.pro",
"chars": 750,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_component_detail_java/src/main/AndroidManifest.xml",
"chars": 307,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.mars.component.detail.java\">\n <"
},
{
"path": "demo/demo_component_detail_java/src/main/aggregate/rubik/generate/aggregate/demo_com_mars_rubik_test_detail_java/DetailJavaAggregate.kt",
"chars": 19087,
"preview": "package rubik.generate.aggregate.demo_com_mars_rubik_test_detail_java\n\nimport android.content.Context\nimport androidx.an"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/Apis.java",
"chars": 756,
"preview": "package com.mars.component.detail.java.api;\n\nimport com.rubik.annotations.route.RRoute;\n\npublic class Apis extends BaseA"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/ApisAsyncReturn.java",
"chars": 745,
"preview": "package com.mars.component.detail.java.api;\n\nimport com.mars.component.detail.java.api.callback.Callback;\nimport com.mar"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/ApisForInstance.java",
"chars": 707,
"preview": "package com.mars.component.detail.java.api;\n\nimport com.mars.component.detail.java.value.TestJavaBean;\nimport com.rubik."
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/BaseApis.java",
"chars": 156,
"preview": "package com.mars.component.detail.java.api;\n\npublic class BaseApis {\n public static void println(String msg) {\n "
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/callback/Callback.java",
"chars": 329,
"preview": "package com.mars.component.detail.java.api.callback;\n\nimport androidx.annotation.Nullable;\n\nimport com.rubik.annotations"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/api/callback/Callbackable.java",
"chars": 172,
"preview": "package com.mars.component.detail.java.api.callback;\n\nimport androidx.annotation.Nullable;\n\npublic interface Callbackabl"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/test/TestJavaDataType.java",
"chars": 2356,
"preview": "package com.mars.component.detail.java.test;\n\nimport android.content.Context;\n\nimport androidx.annotation.NonNull;\nimpor"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/ui/FirstPageActivity.java",
"chars": 1738,
"preview": "package com.mars.component.detail.java.ui;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport android.os.Bundle"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/ui/SecondActivity.java",
"chars": 1352,
"preview": "package com.mars.component.detail.java.ui;\n\nimport android.content.Intent;\nimport android.os.Bundle;\nimport android.widg"
},
{
"path": "demo/demo_component_detail_java/src/main/java/com/mars/component/detail/java/value/TestJavaBean.java",
"chars": 430,
"preview": "package com.mars.component.detail.java.value;\n\nimport androidx.annotation.Nullable;\n\nimport com.google.gson.annotations."
},
{
"path": "demo/demo_component_detail_java/src/main/res/layout/activity_d1.xml",
"chars": 517,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n androi"
},
{
"path": "demo/demo_component_detail_java/src/main/res/values/strings.xml",
"chars": 73,
"preview": "<resources>\n <string name=\"app_name\">ComponentD</string>\n</resources>\n"
},
{
"path": "demo/demo_component_home/build.gradle",
"chars": 1094,
"preview": "apply plugin: 'com.android.library'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\n\nandroid {\n"
},
{
"path": "demo/demo_component_home/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_component_home/proguard-rules.pro",
"chars": 751,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_component_home/src/main/AndroidManifest.xml",
"chars": 303,
"preview": "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"com.mars.component.home\" >\n <applic"
},
{
"path": "demo/demo_component_home/src/main/aggregate/rubik/generate/aggregate/demo_com_mars_rubik_test_home/HomeAggregate.kt",
"chars": 4140,
"preview": "package rubik.generate.aggregate.demo_com_mars_rubik_test_home\n\nimport androidx.annotation.Keep\nimport com.mars.componen"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/api/TestOne.kt",
"chars": 233,
"preview": "package com.mars.component.home.api\n\nimport com.rubik.annotations.route.function.RFunction\n\nclass TestOne {\n @RFuncti"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/event/Events.kt",
"chars": 397,
"preview": "package com.mars.component.home.event\n\nimport com.rubik.annotations.context.REvent\nimport com.rubik.context.LifeCycleEve"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeBuilderTask.java",
"chars": 1843,
"preview": "package com.mars.component.home.test.java;\n\nimport android.content.Context;\n\nimport com.rubik.router.Router;\n\nimport kot"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeFunctionTask.java",
"chars": 3066,
"preview": "package com.mars.component.home.test.java;\n\nimport android.content.Context;\n\nimport androidx.annotation.Nullable;\nimport"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/java/TestJavaInvokeJavaFunctionTask.java",
"chars": 2057,
"preview": "package com.mars.component.home.test.java;\n\nimport android.content.Context;\n\nimport kotlin.Unit;\nimport kotlin.jvm.funct"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestBigData.kt",
"chars": 3508,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport com.ktnail.x.Logger\nimport com.mars.u"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestDataType.kt",
"chars": 3772,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport com.rubik.logger.Logger\nimport com.ru"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestKotlinInvokeActionFunctionJavaTask.kt",
"chars": 1593,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport rubik.generate.context.demo_com_mars_"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestKotlinInvokeActionFunctionTask.kt",
"chars": 10058,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport android.os.Bundle\nimport android.os.H"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestKotlinInvokeDSLTask.kt",
"chars": 10729,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport android.os.Bundle\nimport android.os.H"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/test/kotlin/TestKotlinInvokeRouteFunctionTask.kt",
"chars": 6248,
"preview": "package com.mars.component.home.test.kotlin\n\nimport android.content.Context\nimport android.os.Bundle\nimport android.os.H"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/ui/HomeActivity.kt",
"chars": 10027,
"preview": "package com.mars.component.home.ui\n\nimport android.content.Intent\nimport android.os.Bundle\nimport androidx.appcompat.app"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/ui/HomeFragment.kt",
"chars": 2527,
"preview": "package com.mars.component.home.ui;\n\nimport android.content.Intent\nimport android.os.Bundle\nimport android.view.LayoutIn"
},
{
"path": "demo/demo_component_home/src/main/java/com/mars/component/home/ui/java/JavaHomeActivity.java",
"chars": 5533,
"preview": "package com.mars.component.home.ui.java;\n\nimport java.util.ArrayList;\nimport java.util.List;\n\nimport android.content.Int"
},
{
"path": "demo/demo_component_home/src/main/res/layout/activity_java.xml",
"chars": 3704,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n androi"
},
{
"path": "demo/demo_component_home/src/main/res/layout/activity_kotlin.xml",
"chars": 7086,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\n androi"
},
{
"path": "demo/demo_component_home/src/main/res/layout/fragment_b1.xml",
"chars": 2242,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n andr"
},
{
"path": "demo/demo_component_home/src/main/res/values/strings.xml",
"chars": 73,
"preview": "<resources>\n <string name=\"app_name\">ComponentB</string>\n</resources>\n"
},
{
"path": "demo/demo_root_app/build.gradle",
"chars": 1692,
"preview": "apply plugin: 'com.android.application'\napply plugin: 'kotlin-android'\napply plugin: 'kotlin-android-extensions'\n\nandroi"
},
{
"path": "demo/demo_root_app/proguard-rules.pro",
"chars": 751,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_root_app/src/androidTest/java/com/mars/component/test/RouterTestCase.kt",
"chars": 2877,
"preview": "package com.mars.component.test\n\nimport android.content.Intent\nimport androidx.test.ext.junit.runners.AndroidJUnit4\nimpo"
},
{
"path": "demo/demo_root_app/src/main/AndroidManifest.xml",
"chars": 719,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package="
},
{
"path": "demo/demo_root_app/src/main/java/com/baidu/kcomponent/MainActivity.kt",
"chars": 1836,
"preview": "package com.baidu.kcomponent\n\nimport android.content.Intent\nimport android.os.Bundle\nimport androidx.appcompat.app.AppCo"
},
{
"path": "demo/demo_root_app/src/main/java/com/baidu/kcomponent/MainApplication.kt",
"chars": 585,
"preview": "package com.baidu.kcomponent\n\nimport android.app.Application\nimport android.util.Log\nimport com.rubik.Rubik\nimport rubik"
},
{
"path": "demo/demo_root_app/src/main/res/drawable/ic_launcher_background.xml",
"chars": 5606,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:wi"
},
{
"path": "demo/demo_root_app/src/main/res/drawable-v24/ic_launcher_foreground.xml",
"chars": 1880,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:aapt=\"http://schemas.android.com/aapt\"\n "
},
{
"path": "demo/demo_root_app/src/main/res/layout/activity_main.xml",
"chars": 2723,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<ScrollView xmlns:android=\"http://schemas.android.com/apk/res/android\"\nandroid:la"
},
{
"path": "demo/demo_root_app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
"chars": 272,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "demo/demo_root_app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
"chars": 272,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "demo/demo_root_app/src/main/res/values/colors.xml",
"chars": 208,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <color name=\"colorPrimary\">#008577</color>\n <color name=\"color"
},
{
"path": "demo/demo_root_app/src/main/res/values/strings.xml",
"chars": 73,
"preview": "<resources>\n <string name=\"app_name\">RUBIK_DEMO</string>\n</resources>\n"
},
{
"path": "demo/demo_root_app/src/main/res/values/styles.xml",
"chars": 383,
"preview": "<resources>\n\n <!-- Base application theme. -->\n <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar"
},
{
"path": "demo/demo_until_library_a/build.gradle",
"chars": 1814,
"preview": "plugins {\n id 'com.android.library'\n id 'org.jetbrains.kotlin.android'\n}\n\nandroid {\n compileSdkVersion 30\n b"
},
{
"path": "demo/demo_until_library_a/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_until_library_a/proguard-rules.pro",
"chars": 750,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_until_library_a/src/main/AndroidManifest.xml",
"chars": 157,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"c"
},
{
"path": "demo/demo_until_library_a/src/main/java/com/mars/util_library/TestClassA.kt",
"chars": 139,
"preview": "package com.mars.util_library\n\nclass TestClassA {\n val testTag: String = \"test a!!!\"\n// val b : TestClassB? =null\n"
},
{
"path": "demo/demo_until_library_a/src/main/java/com/mars/util_library/TestLibDataBean.kt",
"chars": 88,
"preview": "package com.mars.util_library\n\ndata class TestLibDataBean(val d1: Int?, val d2: String?)"
},
{
"path": "demo/demo_until_library_b/build.gradle",
"chars": 1753,
"preview": "plugins {\n id 'com.android.library'\n id 'org.jetbrains.kotlin.android'\n}\n\nandroid {\n compileSdkVersion 30\n b"
},
{
"path": "demo/demo_until_library_b/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_until_library_b/proguard-rules.pro",
"chars": 750,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_until_library_b/src/main/AndroidManifest.xml",
"chars": 157,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"c"
},
{
"path": "demo/demo_until_library_b/src/main/java/com/mars/util_library/TestClassB.kt",
"chars": 182,
"preview": "package com.mars.util_library\n\nimport com.x.Xx\nimport com.x.Yx\n\nclass TestClassB {\n val testTag: String = \"test b!!!\""
},
{
"path": "demo/demo_until_library_b/src/testex/java/com/x/Xx.kt",
"chars": 44,
"preview": "package com.x\n\nclass Xx {\n val a =13211\n}"
},
{
"path": "demo/demo_until_library_b/src/testex/java/com/x/Yx.java",
"chars": 36,
"preview": "package com.x;\n\npublic class Yx {\n}\n"
},
{
"path": "demo/demo_until_library_c_java/build.gradle",
"chars": 882,
"preview": "plugins {\n id 'com.android.library'\n id 'kotlin-android'\n}\n\nandroid {\n compileSdkVersion 30\n buildToolsVersi"
},
{
"path": "demo/demo_until_library_c_java/consumer-rules.pro",
"chars": 0,
"preview": ""
},
{
"path": "demo/demo_until_library_c_java/proguard-rules.pro",
"chars": 750,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "demo/demo_until_library_c_java/src/main/AndroidManifest.xml",
"chars": 172,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package=\"c"
},
{
"path": "demo/demo_until_library_c_java/src/main/java/TestClassC.kt",
"chars": 112,
"preview": "//import com.mars.util_library.TestClassB\n\nclass TestClassC {\n// val testTag: String = TestClassB().testTag\n}"
},
{
"path": "demo/rubik-components.gradle",
"chars": 1289,
"preview": "rubik {\n global {\n\n scheme 'demo'\n group 'com.mars.rubik-test'\n\n devMode true\n\n// forceMave"
},
{
"path": "demo/rubik-packing.gradle",
"chars": 804,
"preview": "// 本地本地的组件组合配置,覆盖云端配置\nrubik {\n packing { // 被选择组合成app的组件\n\n// mavenMode all\n\n projectMode all\n\n m"
},
{
"path": "gradle/wrapper/gradle-wrapper.properties",
"chars": 231,
"preview": "#Fri Aug 20 12:44:46 CST 2021\ndistributionBase=GRADLE_USER_HOME\ndistributionPath=wrapper/dists\nzipStorePath=wrapper/dist"
},
{
"path": "gradle.properties",
"chars": 1187,
"preview": "# Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will ov"
},
{
"path": "gradlew",
"chars": 5296,
"preview": "#!/usr/bin/env sh\n\n##############################################################################\n##\n## Gradle start up"
},
{
"path": "gradlew.bat",
"chars": 2176,
"preview": "@if \"%DEBUG%\" == \"\" @echo off\n@rem ##########################################################################\n@rem\n@rem "
},
{
"path": "rubik/rubik_annotations/build.gradle",
"chars": 745,
"preview": "apply plugin: 'java-library'\napply plugin: 'maven-publish'\n\ndependencies {\n implementation fileTree(dir: 'libs', incl"
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/REvent.java",
"chars": 1174,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/REventRepeatable.java",
"chars": 1005,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/assist/REventAssist.java",
"chars": 1196,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/assist/REventAssistRepeatable.java",
"chars": 1036,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/instance/REventInstance.java",
"chars": 1154,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/context/instance/REventInstanceRepeatable.java",
"chars": 1042,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RCallback.java",
"chars": 982,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RExtend.java",
"chars": 913,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RInstance.java",
"chars": 1194,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RInstanceRepeatable.java",
"chars": 1009,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RObject.java",
"chars": 963,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RProperty.java",
"chars": 1029,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RResult.java",
"chars": 933,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RRoute.java",
"chars": 1437,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RRouteRepeatable.java",
"chars": 1003,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/RValue.java",
"chars": 1011,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/assist/RRouteAssist.java",
"chars": 1217,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/assist/RRouteAssistRepeatable.java",
"chars": 1034,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/function/RDefaultType.java",
"chars": 77,
"preview": "package com.rubik.annotations.route.function;\n\npublic class RDefaultType { }\n"
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/function/RFunction.java",
"chars": 1325,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/function/RFunctionRepeatable.java",
"chars": 1000,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/instance/RRouteInstance.java",
"chars": 1175,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/instance/RRouteInstanceRepeatable.java",
"chars": 1040,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/page/RPage.java",
"chars": 1123,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/route/page/RPageRepeatable.java",
"chars": 942,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RAggregate.java",
"chars": 984,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RComponent.java",
"chars": 1112,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RContext.java",
"chars": 982,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RContextLib.java",
"chars": 979,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RGenerated.java",
"chars": 1068,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RGeneratedRouter.java",
"chars": 1043,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/RGeneratedValue.java",
"chars": 996,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_annotations/src/main/java/com/rubik/annotations/source/ROriginalValue.java",
"chars": 993,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/build.gradle",
"chars": 1088,
"preview": "apply plugin: 'java-library'\napply plugin: 'kotlin'\napply plugin: 'maven-publish'\n\ndependencies {\n implementation fil"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/Dependency.kt",
"chars": 100,
"preview": "package com.rubik.context\n\n\ndata class Dependency(\n val uri: String,\n val forFlavor: String?\n)"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/Ext.kt",
"chars": 3317,
"preview": "package com.rubik.context\n\n\nobject Ext {\n const val RUBIK_TMP_LIB_DIR = \"rubik_tmp_lib_dir\"\n const val RUBIK_TMP_L"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/MavenSource.kt",
"chars": 342,
"preview": "package com.rubik.context\n\ndata class MavenSource(\n var version: String?,\n var variant: String?,\n val flavors: "
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/Source.kt",
"chars": 287,
"preview": "package com.rubik.context\n\nimport com.ktnail.x.command.Command\n\ndata class Source(\n var projectPath: String?,\n val"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/container/ContextsContainer.kt",
"chars": 1822,
"preview": "package com.rubik.context.container\n\nimport com.ktnail.x.Logger\nimport com.rubik.context.extra.Context\nimport com.rubik."
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/exception/RubikComponentUndefinedException.kt",
"chars": 1005,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/exception/RubikDSLDefaultGroupNotSetException.kt",
"chars": 1019,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/exception/RubikDSLDefaultSchemeNotSetException.kt",
"chars": 1015,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/exception/RubikMultipleComponentDefinedException.kt",
"chars": 1006,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/exception/RubikPluginNotApplyException.kt",
"chars": 892,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/extra/Context.kt",
"chars": 1258,
"preview": "package com.rubik.context.extra\n\nimport com.ktnail.x.uri.toSchemeAndAuthority\nimport com.rubik.context.Dependency\nimport"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/extra/Injector.kt",
"chars": 652,
"preview": "package com.rubik.context.extra\n\nimport com.rubik.context.container.ContextsContainer\nimport com.rubik.global.GlobalConf"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/extra/Rubik.kt",
"chars": 2804,
"preview": "package com.rubik.context.extra\n\nimport com.android.build.gradle.api.BaseVariant\nimport com.android.builder.model.BuildT"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/folder/ClassesTmpDir.kt",
"chars": 810,
"preview": "package com.rubik.context.folder\n\nimport com.ktnail.x.uriToSnake\nimport org.gradle.api.Project\nimport java.io.File\n\npriv"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/folder/GeneratedSourceDir.kt",
"chars": 553,
"preview": "package com.rubik.context.folder\n\nimport com.ktnail.x.uriToSnake\nimport org.gradle.api.Project\nimport java.io.File\n\npriv"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/folder/LibsTmpDir.kt",
"chars": 664,
"preview": "package com.rubik.context.folder\n\nimport com.ktnail.x.uriToSnake\nimport java.io.File\n\nfun getLibsTmpDirPath(libTmpDirRoo"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/id/ContextIdHolder.kt",
"chars": 1086,
"preview": "package com.rubik.context.id\n\nimport com.rubik.context.extra.Context\n\nclass ContextIdHolder(val context: Context) {\n "
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/id/LeastContext.kt",
"chars": 335,
"preview": "package com.rubik.context.id\n\nimport com.google.gson.Gson\nimport com.google.gson.annotations.SerializedName\n\nclass Least"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/log/LogTags.kt",
"chars": 248,
"preview": "package com.rubik.context.log\n\nimport com.ktnail.x.LogTag\nimport com.ktnail.x.Logger\n\nobject LogTags {\n val CONTEXT ="
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/publication/BuildType.kt",
"chars": 192,
"preview": "package com.rubik.context.publication\n\nobject BuildType {\n const val CONTEXT_LIB_BUILD_TYPE_NAME = \"RContextLib\"\n "
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/publication/LibType.kt",
"chars": 189,
"preview": "package com.rubik.context.publication\n\nobject LibType {\n const val CONTEXT = \"context\"\n const val ORIGINAL_VALUE ="
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/router/RouterRegister.kt",
"chars": 113,
"preview": "package com.rubik.context.router\n\nenum class RouterRegister {\n NONE,\n NEW_INSTANCE,\n REFLECT_INSTANCE,\n}"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/utility/KApt.kt",
"chars": 2210,
"preview": "package com.rubik.context.utility\n\nimport com.android.build.gradle.api.BaseVariant\nimport com.ktnail.x.uriToSnake\nimport"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/utility/Module.kt",
"chars": 347,
"preview": "package com.rubik.context.utility\n\nopen class Module<T : ModuleInjector> {\n private var inj: (() -> T)? = null\n\n f"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/context/utility/Uri.kt",
"chars": 896,
"preview": "package com.rubik.context.utility\n\nimport com.ktnail.x.uri.buildUri\nimport com.rubik.context.exception.RubikDSLDefaultGr"
},
{
"path": "rubik/rubik_context/src/main/java/com/rubik/global/GlobalConfig.kt",
"chars": 2075,
"preview": "package com.rubik.global\n\nimport com.rubik.context.MavenSource\nimport com.rubik.context.mergeOther\nimport com.rubik.cont"
},
{
"path": "rubik/rubik_dsl/build.gradle",
"chars": 835,
"preview": "apply plugin: 'java-library'\napply plugin: 'kotlin'\n\ndependencies {\n implementation fileTree(dir: 'libs', include: ['"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/DSLRubik.kt",
"chars": 3834,
"preview": "package com.rubik.dsl\n\nimport com.rubik.context.extra.Context\nimport com.rubik.dsl.context.DSLContext\nimport com.rubik.d"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/RDSL.java",
"chars": 913,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/DSLContext.kt",
"chars": 3246,
"preview": "package com.rubik.dsl.context\n\nimport com.rubik.context.extra.Context\nimport com.rubik.dsl.DSLRubik\nimport com.rubik.dsl"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/dependency/DSLDependencies.kt",
"chars": 2448,
"preview": "package com.rubik.dsl.context.dependency\n\nimport com.ktnail.x.uri.buildUri\nimport com.rubik.context.Dependency\nimport co"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/dependency/DSLDependency.kt",
"chars": 289,
"preview": "package com.rubik.dsl.context.dependency\n\nimport com.rubik.dsl.RDSL\n\n\nopen class DSLDependency(val uri: String) {\n\n v"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/source/DSLMavenSource.kt",
"chars": 1016,
"preview": "package com.rubik.dsl.context.source\n\nimport com.rubik.context.MavenSource\nimport com.rubik.dsl.RDSL\nimport com.rubik.ds"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/source/DSLProjectSource.kt",
"chars": 700,
"preview": "package com.rubik.dsl.context.source\n\nimport com.rubik.dsl.RDSL\nimport com.synccode.command.dsl.DSLGit\n\n\nopen class DSLP"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/context/source/DSLSource.kt",
"chars": 1508,
"preview": "package com.rubik.dsl.context.source\n\n\nimport com.ktnail.gradle.projectPathToFilePath\nimport com.rubik.context.Source\nim"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/exception/RubikDSLComponentUriException.kt",
"chars": 1154,
"preview": "/**\n * Copyright (C) Baidu Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\""
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/global/DSLGlobalConfig.kt",
"chars": 2280,
"preview": "package com.rubik.dsl.global\n\nimport com.rubik.dsl.RDSL\nimport com.rubik.global.GlobalConfig\nimport groovy.lang.Closure\n"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/global/DSLGlobalContextConfig.kt",
"chars": 253,
"preview": "package com.rubik.dsl.global\n\nimport com.rubik.dsl.context.source.DSLMavenSource\n\nopen class DSLGlobalContextConfig : DS"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/global/DSLGlobalMavenConfig.kt",
"chars": 2053,
"preview": "package com.rubik.dsl.global\n\nimport com.rubik.dsl.RDSL\nimport com.rubik.global.GlobalConfig\nimport groovy.lang.Closure\n"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/packing/DSLExcept.kt",
"chars": 962,
"preview": "package com.rubik.dsl.packing\n\nimport com.rubik.dsl.DSLRubik\nimport com.rubik.dsl.RDSL\nimport com.rubik.pick.ByTag\nimpor"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/packing/DSLPacking.kt",
"chars": 3797,
"preview": "package com.rubik.dsl.packing\n\nimport com.rubik.context.router.RouterRegister\nimport com.rubik.dsl.DSLRubik\nimport com.r"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/packing/DSLPackingHow.kt",
"chars": 2359,
"preview": "package com.rubik.dsl.packing\n\nimport com.rubik.context.router.RouterRegister\nimport com.rubik.dsl.RDSL\nimport com.rubik"
},
{
"path": "rubik/rubik_dsl/src/main/java/com/rubik/dsl/packing/DSLPackingNoSource.kt",
"chars": 497,
"preview": "package com.rubik.dsl.packing\n\nimport com.rubik.dsl.RDSL\n\n\nopen class DSLPackingNoSource {\n\n @set:RDSL\n var enable"
}
]
// ... and 594 more files (download for full content)
About this extraction
This page contains the full source code of the baidu/Rubik GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 794 files (1.0 MB), approximately 315.6k tokens, and a symbol index with 46 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.