/** Ċ Ġ* Ġ" Common s ĠClause " ĠLicense ĠCondition Ġv 1 . 0 Ċ Ġ* Ċ Ġ* ĠThe ĠSoftware Ġis Ġprovided Ġto Ġyou Ġby Ġthe ĠLic ensor Ġunder Ġthe ĠLicense , Ġas Ġdefined Ċ Ġ* Ġbelow , Ġsubject Ġto Ġthe Ġfollowing Ġcondition . Ċ Ġ* Ċ Ġ* ĠWithout Ġlimiting Ġother Ġconditions Ġin Ġthe ĠLicense , Ġthe Ġgrant Ġof Ġrights Ġunder Ġthe Ċ Ġ* ĠLicense Ġwill Ġnot Ġinclude , Ġand Ġthe ĠLicense Ġdoes Ġnot Ġgrant Ġto Ġyou , Ġthe Ġright Ġto Ċ Ġ* ĠS ell Ġthe ĠSoftware . Ċ Ġ* Ċ Ġ* ĠFor Ġpurposes Ġof Ġthe Ġfore going , ĠâĢľ Sell âĢĿ Ġmeans Ġpract icing Ġany Ġor Ġall Ġof Ġthe Ġrights Ċ Ġ* Ġgranted Ġto Ġyou Ġunder Ġthe ĠLicense Ġto Ġprovide Ġto Ġthird Ġparties , Ġfor Ġa Ġfee Ġor Ċ Ġ* Ġother Ġconsideration Ġ( including Ġwithout Ġlimitation Ġfees Ġfor Ġhosting Ġor Ċ Ġ* Ġconsult ing / Ġsupport Ġservices Ġrelated Ġto Ġthe ĠSoftware ), Ġa Ġproduct Ġor Ġservice Ċ Ġ* Ġwhose Ġvalue Ġder ives , Ġentirely Ġor Ġsubstant ially , Ġfrom Ġthe Ġfunctionality Ġof Ġthe Ċ Ġ* ĠSoftware . ĠAny Ġlicense Ġnotice Ġor Ġat tribution Ġrequired Ġby Ġthe ĠLicense Ġmust Ġalso Ċ Ġ* Ġinclude Ġthis ĠCommons ĠClause ĠLicense ĠCondition Ġnotice . Ċ Ġ* Ċ Ġ* ĠSoftware : ĠInf init ic Ċ Ġ* Ċ Ġ* ĠLicense : ĠMIT ĠLicense Ġ( https :// opensource . org / licenses / MIT ) Ċ Ġ* Ċ Ġ* ĠLic ensor : Ġinf init ic . io Ċ Ġ*/ Ċ Ċ package Ġio . inf init ic . workflows . workflow Task . workflows Ċ Ċ import Ġio . inf init ic . annotations . Ignore Ċ import Ġio . inf init ic . workflows . Send Channel Ċ import Ġio . inf init ic . workflows . Workflow Ċ import Ġio . inf init ic . workflows . workflow Task . tasks . Task A Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġmu . Kotlin Logging Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . util . UUID Ċ Ċ sealed Ġclass ĠObj Ċ @ Serializable Ċ data Ġclass ĠObj 1 ( val Ġfoo : ĠString , Ġval Ġbar : ĠInt ) Ġ: ĠObj () Ċ @ Serializable Ċ data Ġclass ĠObj 2 ( val Ġfoo : ĠString , Ġval Ġbar : ĠInt ) Ġ: ĠObj () Ċ Ċ interface ĠWorkflow A Ġ{ ĊĠĠĠ Ġval Ġchannel Obj : ĠSend Channel < Obj > Ċ } Ċ Ċ class ĠWorkflow A Impl Ġ: ĠWorkflow (), ĠWorkflow A Ġ{ ĊĊĠĠĠ Ġ// Ġa Ġchannel ĊĠĠĠ Ġoverride Ġval Ġchannel Obj Ġ= Ġchannel < Obj >() ĊĊĠĠĠ Ġ// Ġa Ġnew Ġtask ĊĠĠĠ Ġprivate Ġval Ġnew Task A Ġ= Ġnew Task ( Task A :: class . java ) ĊĊĠĠĠ Ġ// Ġan Ġexisting Ġtask Ċ // ĠĠĠ Ġprivate Ġval Ġget Task A Ġ= Ġget Task ById ( Task A :: class . java , ĠUUID . randomUUID (). toString ()) ĊĊĠĠĠ Ġ// Ġa Ġnew Ġworkflow ĊĠĠĠ Ġprivate Ġval Ġnew Workflow A Ġ= Ġnew Workflow ( Workflow A :: class . java ) ĊĊĠĠĠ Ġ// Ġan Ġexisting Ġworkflow ĊĠĠĠ Ġprivate Ġval Ġget Workflow A Ġ= Ġget Workflow ById ( Workflow A :: class . java , ĠUUID . randomUUID (). toString ()) ĊĊĠĠĠ Ġ// Ġa Ġlogger ĊĠĠĠ Ġprivate Ġvar Ġlogger 1 Ġ= ĠLoggerFactory . getLogger ( Workflow A Impl :: class . qualified Name ) ĊĊĠĠĠ Ġ// Ġanother Ġlogger ĊĠĠĠ Ġprivate Ġval Ġlogger 2 Ġ= ĠKotlin Logging . logger Ġ{} ĊĊĠĠĠ Ġ// Ġthis Ġproperty Ġshould Ġbe Ġignored ĊĠĠĠ Ġ@ Ignore Ġprivate Ġvar Ġkey 1 Ġ= Ġ" 4 2 " ĊĊĠĠĠ Ġ// Ġthis Ġproperty Ġshould Ġbe Ġkept ĊĠĠĠ Ġprivate Ġvar Ġkey 2 Ġ= Ġ 4 2 Ċ } Ċ