module Octane.Type.Replication (Replication(..)) where
import qualified Control.DeepSeq as DeepSeq
import qualified Data.Default.Class as Default
import qualified Data.Map.Strict as Map
import qualified Data.OverloadedRecords.TH as OverloadedRecords
import qualified Data.Text as StrictText
import qualified GHC.Generics as Generics
import qualified Octane.Type.CompressedWord as CompressedWord
import qualified Octane.Type.Initialization as Initialization
import qualified Octane.Type.State as State
import qualified Octane.Type.Value as Value
data Replication = Replication
{ replicationActorId :: CompressedWord.CompressedWord
, replicationObjectName :: StrictText.Text
, replicationClassName :: StrictText.Text
, replicationState :: State.State
, replicationInitialization :: Maybe Initialization.Initialization
, replicationProperties :: Map.Map StrictText.Text Value.Value
} deriving (Eq, Generics.Generic, Show)
$(OverloadedRecords.overloadedRecord Default.def ''Replication)
instance DeepSeq.NFData Replication where