package Ġpc df Event . events . ob d Events . ob d Intermediate Events . multi Component Events Ċ Ċ import Ġpc df Event . events . ob d Events . ob d Intermediate Events . OB D Intermediate Event Ċ import Ġpc df Pattern . PC DF Data Pattern Ċ import Ġpc df Pattern . PC DF Pattern Ċ Ċ class ĠNO X Sensor Alternative Event ( ĊĠĠĠ Ġsource : ĠString , ĊĠĠĠ Ġtimestamp : ĠLong , ĊĠĠĠ Ġbytes : ĠString , ĊĠĠĠ Ġpid : ĠInt , ĊĠĠĠ Ġmode : ĠInt , ĊĠĠĠ Ġvar Ġsensor 1 _ 1 : ĠInt , ĊĠĠĠ Ġvar Ġsensor 1 _ 2 : ĠInt , ĊĠĠĠ Ġvar Ġsensor 2 _ 1 : ĠInt , ĊĠĠĠ Ġvar Ġsensor 2 _ 2 : ĠInt Ċ ) Ġ: ĠO BD Intermediate Event ( source , Ġtimestamp , Ġbytes , Ġpid , Ġmode ) Ġ{ ĊĊĠĠĠ Ġ// ĠSecondary Ġconstructor Ġonly Ġused Ġby Ġconvert Ġfunction . ĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġdata : ĠString , ĊĠĠĠĠĠĠĠ Ġsource : ĠString , ĊĠĠĠĠĠĠĠ Ġtimestamp : ĠLong , ĊĠĠĠĠĠĠĠ Ġbytes : ĠString , ĊĠĠĠĠĠĠĠ Ġpid : ĠInt , ĊĠĠĠĠĠĠĠ Ġmode : ĠInt ĊĠĠĠ Ġ) Ġ: Ġthis ( source , Ġtimestamp , Ġbytes , Ġpid , Ġmode , Ġ- 1 , Ġ- 1 , Ġ- 1 , Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠByte Ġparsing Ġaccording Ġto ĠO BD - Standard ĊĠĠĠĠĠĠĠ Ġvar Ġsupported Ġ= Ġdata . substring ( 0 , Ġ 2 ). toInt ( 1 6 ). toString ( 2 ). reversed () ĊĠĠĠĠĠĠĠ Ġwhile Ġ( supported . length Ġ< Ġ 8 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupported Ġ+= Ġ" 0 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 3 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( i ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor 1 _ 1 Ġ= Ġif Ġ( supported [ i ] Ġ== Ġ' 1 ' Ġ&& Ġsupported [ i Ġ+ Ġ 4 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . substring ( 2 , Ġ 6 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor 1 _ 2 Ġ= Ġif Ġ( supported [ i ] Ġ== Ġ' 1 ' Ġ&& Ġsupported [ i Ġ+ Ġ 4 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . substring ( 6 , Ġ 1 0 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor 2 _ 1 Ġ= Ġif Ġ( supported [ i ] Ġ== Ġ' 1 ' Ġ&& Ġsupported [ i Ġ+ Ġ 4 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . substring ( 1 0 , Ġ 1 4 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsensor 2 _ 2 Ġ= Ġif Ġ( supported [ i ] Ġ== Ġ' 1 ' Ġ&& Ġsupported [ i Ġ+ Ġ 4 ] Ġ== Ġ' 0 ') Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . substring ( 1 4 , Ġ 1 8 ). toInt ( 1 6 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Pattern (): ĠPC DF Pattern Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpattern Ġ= Ġsuper . get Pattern () ĊĠĠĠĠĠĠĠ Ġpattern . data Ġ= ĠPC DF Data Pattern ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= Ġbytes , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmode Ġ= Ġmode , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpid Ġ= Ġpid , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ox _ sensor _ alternative _ 1 _ 1 Ġ= Ġsensor 1 _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ox _ sensor _ alternative _ 1 _ 2 Ġ= Ġsensor 1 _ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ox _ sensor _ alternative _ 2 _ 1 Ġ= Ġsensor 2 _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn ox _ sensor _ alternative _ 2 _ 2 Ġ= Ġsensor 2 _ 2 ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġpattern ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . toString () Ġ+ Ġ" NO x ĠSensor : Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sensor 1 _ 1 Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠSensor Ġ 1 : Ġ$ sensor 1 _ 1 Ġp pm " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sensor 1 _ 2 Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠSensor Ġ 2 : Ġ$ sensor 1 _ 2 Ġp pm " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sensor 2 _ 1 Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠSensor Ġ 3 : Ġ$ sensor 2 _ 1 Ġp pm " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( sensor 2 _ 2 Ġ!= Ġ- 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠSensor Ġ 4 : Ġ$ sensor 2 _ 2 Ġp pm " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }