package Ġorg . vit riv r . cott ont ail . database . column . map db Ċ Ċ import Ġorg . map db . Data Input 2 Ċ import Ġorg . map db . Data Output 2 Ċ import Ġorg . vit riv r . cott ont ail . database . column . Column Def Ċ import Ġorg . vit riv r . cott ont ail . database . general . DB O Version Ċ import Ġorg . vit riv r . cott ont ail . model . exceptions . Database Exception Ċ Ċ /** Ċ Ġ* ĠThe Ġheader Ġdata Ġstructure Ġof Ġany Ġ[ Map DB Column ] Ċ Ġ* Ċ Ġ* Ġ@ see ĠMap DB Column Ċ Ġ* Ġ@ author ĠR alph ĠG asser Ċ Ġ* Ġ@ version Ġ 2 . 0 . 0 Ċ Ġ*/ Ċ data Ġclass ĠColumn Header ( ĊĠĠĠ Ġval Ġcolumn Def : ĠColumn Def <* >, ĊĠĠĠ Ġval Ġcount : ĠLong Ġ= Ġ 0 L , ĊĠĠĠ Ġval Ġcreated : ĠLong Ġ= ĠSystem . currentTimeMillis (), ĊĠĠĠ Ġval Ġmodified : ĠLong Ġ= ĠSystem . currentTimeMillis () Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject ĠSerializer Ġ: Ġorg . map db . Serializer < Column Header > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġserialize ( out : ĠData Output 2 , Ġvalue : ĠColumn Header ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . pack Int ( DB O Version . V 2 _ 0 . ordinal ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠColumn Def . serialize ( out , Ġvalue . column Def ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . write Long ( value . count ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . write Long ( value . created ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġout . write Long ( value . modified ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġdeserialize ( input : ĠData Input 2 , Ġavailable : ĠInt ): ĠColumn Header Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Ġ= ĠD BO Version . values ()[ input . unpack Int ()] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version Ġ!= ĠD BO Version . V 2 _ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠDatabase Exception . Version Mismatch Exception ( version , ĠD BO Version . V 2 _ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdef Ġ= ĠColumn Def . deserialize ( input , Ġavailable ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠColumn Header ( def , Ġinput . read Long (), Ġinput . read Long (), Ġinput . read Long ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }