modelling-tasks-0.0.0.1
Safe HaskellSafe-Inferred
LanguageHaskell2010

Modelling.CdOd.Types

Contents

Synopsis

Documentation

data AllowedProperties Source #

Instances

Instances details
Generic AllowedProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep AllowedProperties :: Type -> Type #

Read AllowedProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Show AllowedProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep AllowedProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep AllowedProperties = D1 ('MetaData "AllowedProperties" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "AllowedProperties" 'PrefixI 'True) (((S1 ('MetaSel ('Just "compositionCycles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "doubleRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "inheritanceCycles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "invalidInheritanceLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "reverseInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)))) :*: ((S1 ('MetaSel ('Just "reverseRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "selfInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "selfRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "wrongAssociationLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "wrongCompositionLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool))))))

type AnnotatedCd annotation = AnnotatedClassDiagram annotation String String Source #

data AnnotatedClassDiagram relationshipAnnotation className relationshipName Source #

Constructors

AnnotatedClassDiagram 

Fields

Instances

Instances details
Bifoldable (AnnotatedClassDiagram relationshipAnnotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => AnnotatedClassDiagram relationshipAnnotation m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> AnnotatedClassDiagram relationshipAnnotation a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> AnnotatedClassDiagram relationshipAnnotation a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> AnnotatedClassDiagram relationshipAnnotation a b -> c #

Bifunctor (AnnotatedClassDiagram relationshipAnnotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> AnnotatedClassDiagram relationshipAnnotation a c -> AnnotatedClassDiagram relationshipAnnotation b d #

first :: (a -> b) -> AnnotatedClassDiagram relationshipAnnotation a c -> AnnotatedClassDiagram relationshipAnnotation b c #

second :: (b -> c) -> AnnotatedClassDiagram relationshipAnnotation a b -> AnnotatedClassDiagram relationshipAnnotation a c #

Bitraversable (AnnotatedClassDiagram relationshipAnnotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> AnnotatedClassDiagram relationshipAnnotation a b -> f (AnnotatedClassDiagram relationshipAnnotation c d) #

Functor (AnnotatedClassDiagram relationshipAnnotation className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> AnnotatedClassDiagram relationshipAnnotation className a -> AnnotatedClassDiagram relationshipAnnotation className b #

(<$) :: a -> AnnotatedClassDiagram relationshipAnnotation className b -> AnnotatedClassDiagram relationshipAnnotation className a #

(Data relationshipAnnotation, Data className, Data relationshipName) => Data (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> c (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

toConstr :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> Constr #

dataTypeOf :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (AnnotatedClassDiagram relationshipAnnotation className relationshipName)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (AnnotatedClassDiagram relationshipAnnotation className relationshipName)) #

gmapT :: (forall b. Data b => b -> b) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> AnnotatedClassDiagram relationshipAnnotation className relationshipName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> r #

gmapQ :: (forall d. Data d => d -> u) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> m (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> m (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> m (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

Generic (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (AnnotatedClassDiagram relationshipAnnotation className relationshipName) :: Type -> Type #

Methods

from :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> Rep (AnnotatedClassDiagram relationshipAnnotation className relationshipName) x #

to :: Rep (AnnotatedClassDiagram relationshipAnnotation className relationshipName) x -> AnnotatedClassDiagram relationshipAnnotation className relationshipName #

(Read className, Read relationshipName, Read relationshipAnnotation) => Read (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

readList :: ReadS [AnnotatedClassDiagram relationshipAnnotation className relationshipName] #

readPrec :: ReadPrec (AnnotatedClassDiagram relationshipAnnotation className relationshipName) #

readListPrec :: ReadPrec [AnnotatedClassDiagram relationshipAnnotation className relationshipName] #

(Show className, Show relationshipName, Show relationshipAnnotation) => Show (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> ShowS #

show :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> String #

showList :: [AnnotatedClassDiagram relationshipAnnotation className relationshipName] -> ShowS #

(Eq className, Eq relationshipName, Eq relationshipAnnotation) => Eq (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> Bool #

(/=) :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> AnnotatedClassDiagram relationshipAnnotation className relationshipName -> Bool #

type Rep (AnnotatedClassDiagram relationshipAnnotation className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (AnnotatedClassDiagram relationshipAnnotation className relationshipName) = D1 ('MetaData "AnnotatedClassDiagram" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "AnnotatedClassDiagram" 'PrefixI 'True) (S1 ('MetaSel ('Just "annotatedClasses") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [className]) :*: S1 ('MetaSel ('Just "annotatedRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Annotation relationshipAnnotation (AnyRelationship className relationshipName)])))

data Annotation annotation annotated Source #

Constructors

Annotation 

Fields

Instances

Instances details
Bifoldable Annotation Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => Annotation m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Annotation a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Annotation a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Annotation a b -> c #

Bifunctor Annotation Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> Annotation a c -> Annotation b d #

first :: (a -> b) -> Annotation a c -> Annotation b c #

second :: (b -> c) -> Annotation a b -> Annotation a c #

Bitraversable Annotation Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Annotation a b -> f (Annotation c d) #

Foldable (Annotation annotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fold :: Monoid m => Annotation annotation m -> m #

foldMap :: Monoid m => (a -> m) -> Annotation annotation a -> m #

foldMap' :: Monoid m => (a -> m) -> Annotation annotation a -> m #

foldr :: (a -> b -> b) -> b -> Annotation annotation a -> b #

foldr' :: (a -> b -> b) -> b -> Annotation annotation a -> b #

foldl :: (b -> a -> b) -> b -> Annotation annotation a -> b #

foldl' :: (b -> a -> b) -> b -> Annotation annotation a -> b #

foldr1 :: (a -> a -> a) -> Annotation annotation a -> a #

foldl1 :: (a -> a -> a) -> Annotation annotation a -> a #

toList :: Annotation annotation a -> [a] #

null :: Annotation annotation a -> Bool #

length :: Annotation annotation a -> Int #

elem :: Eq a => a -> Annotation annotation a -> Bool #

maximum :: Ord a => Annotation annotation a -> a #

minimum :: Ord a => Annotation annotation a -> a #

sum :: Num a => Annotation annotation a -> a #

product :: Num a => Annotation annotation a -> a #

Traversable (Annotation annotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

traverse :: Applicative f => (a -> f b) -> Annotation annotation a -> f (Annotation annotation b) #

sequenceA :: Applicative f => Annotation annotation (f a) -> f (Annotation annotation a) #

mapM :: Monad m => (a -> m b) -> Annotation annotation a -> m (Annotation annotation b) #

sequence :: Monad m => Annotation annotation (m a) -> m (Annotation annotation a) #

Functor (Annotation annotation) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> Annotation annotation a -> Annotation annotation b #

(<$) :: a -> Annotation annotation b -> Annotation annotation a #

(Data annotated, Data annotation) => Data (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Annotation annotation annotated -> c (Annotation annotation annotated) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Annotation annotation annotated) #

toConstr :: Annotation annotation annotated -> Constr #

dataTypeOf :: Annotation annotation annotated -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Annotation annotation annotated)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Annotation annotation annotated)) #

gmapT :: (forall b. Data b => b -> b) -> Annotation annotation annotated -> Annotation annotation annotated #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Annotation annotation annotated -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Annotation annotation annotated -> r #

gmapQ :: (forall d. Data d => d -> u) -> Annotation annotation annotated -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Annotation annotation annotated -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Annotation annotation annotated -> m (Annotation annotation annotated) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Annotation annotation annotated -> m (Annotation annotation annotated) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Annotation annotation annotated -> m (Annotation annotation annotated) #

Generic (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (Annotation annotation annotated) :: Type -> Type #

Methods

from :: Annotation annotation annotated -> Rep (Annotation annotation annotated) x #

to :: Rep (Annotation annotation annotated) x -> Annotation annotation annotated #

(Read annotated, Read annotation) => Read (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (Annotation annotation annotated) #

readList :: ReadS [Annotation annotation annotated] #

readPrec :: ReadPrec (Annotation annotation annotated) #

readListPrec :: ReadPrec [Annotation annotation annotated] #

(Show annotated, Show annotation) => Show (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> Annotation annotation annotated -> ShowS #

show :: Annotation annotation annotated -> String #

showList :: [Annotation annotation annotated] -> ShowS #

(Eq annotated, Eq annotation) => Eq (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: Annotation annotation annotated -> Annotation annotation annotated -> Bool #

(/=) :: Annotation annotation annotated -> Annotation annotation annotated -> Bool #

type Rep (Annotation annotation annotated) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (Annotation annotation annotated) = D1 ('MetaData "Annotation" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "Annotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "annotated") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 annotated) :*: S1 ('MetaSel ('Just "annotation") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 annotation)))

data AnyClassDiagram className relationshipName Source #

Constructors

AnyClassDiagram 

Fields

Instances

Instances details
Bifoldable AnyClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => AnyClassDiagram m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> AnyClassDiagram a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> AnyClassDiagram a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> AnyClassDiagram a b -> c #

Bifunctor AnyClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> AnyClassDiagram a c -> AnyClassDiagram b d #

first :: (a -> b) -> AnyClassDiagram a c -> AnyClassDiagram b c #

second :: (b -> c) -> AnyClassDiagram a b -> AnyClassDiagram a c #

Bitraversable AnyClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> AnyClassDiagram a b -> f (AnyClassDiagram c d) #

Functor (AnyClassDiagram className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> AnyClassDiagram className a -> AnyClassDiagram className b #

(<$) :: a -> AnyClassDiagram className b -> AnyClassDiagram className a #

Generic (AnyClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (AnyClassDiagram className relationshipName) :: Type -> Type #

Methods

from :: AnyClassDiagram className relationshipName -> Rep (AnyClassDiagram className relationshipName) x #

to :: Rep (AnyClassDiagram className relationshipName) x -> AnyClassDiagram className relationshipName #

(Read className, Read relationshipName) => Read (AnyClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (AnyClassDiagram className relationshipName) #

readList :: ReadS [AnyClassDiagram className relationshipName] #

readPrec :: ReadPrec (AnyClassDiagram className relationshipName) #

readListPrec :: ReadPrec [AnyClassDiagram className relationshipName] #

(Show className, Show relationshipName) => Show (AnyClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> AnyClassDiagram className relationshipName -> ShowS #

show :: AnyClassDiagram className relationshipName -> String #

showList :: [AnyClassDiagram className relationshipName] -> ShowS #

(Eq className, Eq relationshipName) => Eq (AnyClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: AnyClassDiagram className relationshipName -> AnyClassDiagram className relationshipName -> Bool #

(/=) :: AnyClassDiagram className relationshipName -> AnyClassDiagram className relationshipName -> Bool #

type Rep (AnyClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (AnyClassDiagram className relationshipName) = D1 ('MetaData "AnyClassDiagram" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "AnyClassDiagram" 'PrefixI 'True) (S1 ('MetaSel ('Just "anyClassNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [className]) :*: S1 ('MetaSel ('Just "anyRelationships") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [AnyRelationship className relationshipName])))

type AnyRelationship className relationshipName = Either (InvalidRelationship className relationshipName) (Relationship className relationshipName) Source #

newtype CdConstraints Source #

Additional structural constraints that should be applied to all class diagrams.

Constructors

CdConstraints 

Fields

Instances

Instances details
Generic CdConstraints Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep CdConstraints :: Type -> Type #

Read CdConstraints Source # 
Instance details

Defined in Modelling.CdOd.Types

Show CdConstraints Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq CdConstraints Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep CdConstraints Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep CdConstraints = D1 ('MetaData "CdConstraints" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'True) (C1 ('MetaCons "CdConstraints" 'PrefixI 'True) (S1 ('MetaSel ('Just "anyCompositionCyclesInvolveInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))

data CdDrawSettings Source #

These parameters influence the appearance of the class diagram when drawn.

Constructors

CdDrawSettings 

Fields

Instances

Instances details
Data CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CdDrawSettings -> c CdDrawSettings #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CdDrawSettings #

toConstr :: CdDrawSettings -> Constr #

dataTypeOf :: CdDrawSettings -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CdDrawSettings) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CdDrawSettings) #

gmapT :: (forall b. Data b => b -> b) -> CdDrawSettings -> CdDrawSettings #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CdDrawSettings -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CdDrawSettings -> r #

gmapQ :: (forall d. Data d => d -> u) -> CdDrawSettings -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CdDrawSettings -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CdDrawSettings -> m CdDrawSettings #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CdDrawSettings -> m CdDrawSettings #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CdDrawSettings -> m CdDrawSettings #

Generic CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep CdDrawSettings :: Type -> Type #

Read CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

Show CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep CdDrawSettings Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep CdDrawSettings = D1 ('MetaData "CdDrawSettings" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "CdDrawSettings" 'PrefixI 'True) (S1 ('MetaSel ('Just "omittedDefaults") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 OmittedDefaultMultiplicities) :*: (S1 ('MetaSel ('Just "printNames") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "printNavigations") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool))))

data CdMutation Source #

Instances

Instances details
Generic CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep CdMutation :: Type -> Type #

Read CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Show CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Ord CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Enumerable CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

enumerate :: forall (f :: Type -> Type). (Typeable f, Sized f) => Shared f CdMutation

type Rep CdMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep CdMutation = D1 ('MetaData "CdMutation" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "AddRelationship" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MutateRelationship" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 RelationshipMutation)) :+: C1 ('MetaCons "RemoveRelationship" 'PrefixI 'False) (U1 :: Type -> Type)))

data ClassConfig Source #

Constructors

ClassConfig 

Fields

Instances

Instances details
Generic ClassConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep ClassConfig :: Type -> Type #

Read ClassConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Show ClassConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq ClassConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ClassConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ClassConfig = D1 ('MetaData "ClassConfig" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ClassConfig" 'PrefixI 'True) ((S1 ('MetaSel ('Just "classLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Int)) :*: (S1 ('MetaSel ('Just "aggregationLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)) :*: S1 ('MetaSel ('Just "associationLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)))) :*: (S1 ('MetaSel ('Just "compositionLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)) :*: (S1 ('MetaSel ('Just "inheritanceLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int)) :*: S1 ('MetaSel ('Just "relationshipLimits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int))))))

data ClassDiagram className relationshipName Source #

Constructors

ClassDiagram 

Fields

Instances

Instances details
Bifoldable ClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => ClassDiagram m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> ClassDiagram a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> ClassDiagram a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> ClassDiagram a b -> c #

Bifunctor ClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> ClassDiagram a c -> ClassDiagram b d #

first :: (a -> b) -> ClassDiagram a c -> ClassDiagram b c #

second :: (b -> c) -> ClassDiagram a b -> ClassDiagram a c #

Bitraversable ClassDiagram Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> ClassDiagram a b -> f (ClassDiagram c d) #

Functor (ClassDiagram className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> ClassDiagram className a -> ClassDiagram className b #

(<$) :: a -> ClassDiagram className b -> ClassDiagram className a #

Generic (ClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (ClassDiagram className relationshipName) :: Type -> Type #

Methods

from :: ClassDiagram className relationshipName -> Rep (ClassDiagram className relationshipName) x #

to :: Rep (ClassDiagram className relationshipName) x -> ClassDiagram className relationshipName #

(Read className, Read relationshipName) => Read (ClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (ClassDiagram className relationshipName) #

readList :: ReadS [ClassDiagram className relationshipName] #

readPrec :: ReadPrec (ClassDiagram className relationshipName) #

readListPrec :: ReadPrec [ClassDiagram className relationshipName] #

(Show className, Show relationshipName) => Show (ClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> ClassDiagram className relationshipName -> ShowS #

show :: ClassDiagram className relationshipName -> String #

showList :: [ClassDiagram className relationshipName] -> ShowS #

(Eq className, Eq relationshipName) => Eq (ClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: ClassDiagram className relationshipName -> ClassDiagram className relationshipName -> Bool #

(/=) :: ClassDiagram className relationshipName -> ClassDiagram className relationshipName -> Bool #

type Rep (ClassDiagram className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (ClassDiagram className relationshipName) = D1 ('MetaData "ClassDiagram" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ClassDiagram" 'PrefixI 'True) (S1 ('MetaSel ('Just "classNames") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [className]) :*: S1 ('MetaSel ('Just "relationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Relationship className relationshipName])))

data DefaultedLimitedLinking Source #

A variation of LimitedLinking that can fallback to a default limit and includes the range expression.

Constructors

DefaultedLimitedLinking 

Fields

data InvalidRelationship className relationshipName Source #

Constructors

InvalidInheritance 

Fields

Instances

Instances details
Bifoldable InvalidRelationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => InvalidRelationship m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> InvalidRelationship a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> InvalidRelationship a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> InvalidRelationship a b -> c #

Bifunctor InvalidRelationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> InvalidRelationship a c -> InvalidRelationship b d #

first :: (a -> b) -> InvalidRelationship a c -> InvalidRelationship b c #

second :: (b -> c) -> InvalidRelationship a b -> InvalidRelationship a c #

Bitraversable InvalidRelationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> InvalidRelationship a b -> f (InvalidRelationship c d) #

Functor (InvalidRelationship className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> InvalidRelationship className a -> InvalidRelationship className b #

(<$) :: a -> InvalidRelationship className b -> InvalidRelationship className a #

(Data className, Data relationshipName) => Data (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InvalidRelationship className relationshipName -> c (InvalidRelationship className relationshipName) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (InvalidRelationship className relationshipName) #

toConstr :: InvalidRelationship className relationshipName -> Constr #

dataTypeOf :: InvalidRelationship className relationshipName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (InvalidRelationship className relationshipName)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (InvalidRelationship className relationshipName)) #

gmapT :: (forall b. Data b => b -> b) -> InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InvalidRelationship className relationshipName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InvalidRelationship className relationshipName -> r #

gmapQ :: (forall d. Data d => d -> u) -> InvalidRelationship className relationshipName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InvalidRelationship className relationshipName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InvalidRelationship className relationshipName -> m (InvalidRelationship className relationshipName) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InvalidRelationship className relationshipName -> m (InvalidRelationship className relationshipName) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InvalidRelationship className relationshipName -> m (InvalidRelationship className relationshipName) #

Generic (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (InvalidRelationship className relationshipName) :: Type -> Type #

Methods

from :: InvalidRelationship className relationshipName -> Rep (InvalidRelationship className relationshipName) x #

to :: Rep (InvalidRelationship className relationshipName) x -> InvalidRelationship className relationshipName #

Read className => Read (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (InvalidRelationship className relationshipName) #

readList :: ReadS [InvalidRelationship className relationshipName] #

readPrec :: ReadPrec (InvalidRelationship className relationshipName) #

readListPrec :: ReadPrec [InvalidRelationship className relationshipName] #

Show className => Show (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> InvalidRelationship className relationshipName -> ShowS #

show :: InvalidRelationship className relationshipName -> String #

showList :: [InvalidRelationship className relationshipName] -> ShowS #

Eq className => Eq (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

(/=) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

Ord className => Ord (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

compare :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Ordering #

(<) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

(<=) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

(>) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

(>=) :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> Bool #

max :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName #

min :: InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName -> InvalidRelationship className relationshipName #

type Rep (InvalidRelationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (InvalidRelationship className relationshipName) = D1 ('MetaData "InvalidRelationship" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "InvalidInheritance" 'PrefixI 'True) (S1 ('MetaSel ('Just "invalidSubClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LimitedLinking className)) :*: S1 ('MetaSel ('Just "invalidSuperClass") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (LimitedLinking className))))

data LimitedLinking nodeName Source #

A meta-level connection to a node name with a (possibly invalid) range of multiplicities limiting the number of possible (non-meta-level) connections using this specific connector.

Constructors

LimitedLinking 

Fields

Instances

Instances details
Foldable LimitedLinking Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fold :: Monoid m => LimitedLinking m -> m #

foldMap :: Monoid m => (a -> m) -> LimitedLinking a -> m #

foldMap' :: Monoid m => (a -> m) -> LimitedLinking a -> m #

foldr :: (a -> b -> b) -> b -> LimitedLinking a -> b #

foldr' :: (a -> b -> b) -> b -> LimitedLinking a -> b #

foldl :: (b -> a -> b) -> b -> LimitedLinking a -> b #

foldl' :: (b -> a -> b) -> b -> LimitedLinking a -> b #

foldr1 :: (a -> a -> a) -> LimitedLinking a -> a #

foldl1 :: (a -> a -> a) -> LimitedLinking a -> a #

toList :: LimitedLinking a -> [a] #

null :: LimitedLinking a -> Bool #

length :: LimitedLinking a -> Int #

elem :: Eq a => a -> LimitedLinking a -> Bool #

maximum :: Ord a => LimitedLinking a -> a #

minimum :: Ord a => LimitedLinking a -> a #

sum :: Num a => LimitedLinking a -> a #

product :: Num a => LimitedLinking a -> a #

Traversable LimitedLinking Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

traverse :: Applicative f => (a -> f b) -> LimitedLinking a -> f (LimitedLinking b) #

sequenceA :: Applicative f => LimitedLinking (f a) -> f (LimitedLinking a) #

mapM :: Monad m => (a -> m b) -> LimitedLinking a -> m (LimitedLinking b) #

sequence :: Monad m => LimitedLinking (m a) -> m (LimitedLinking a) #

Functor LimitedLinking Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> LimitedLinking a -> LimitedLinking b #

(<$) :: a -> LimitedLinking b -> LimitedLinking a #

Data nodeName => Data (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LimitedLinking nodeName -> c (LimitedLinking nodeName) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (LimitedLinking nodeName) #

toConstr :: LimitedLinking nodeName -> Constr #

dataTypeOf :: LimitedLinking nodeName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (LimitedLinking nodeName)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (LimitedLinking nodeName)) #

gmapT :: (forall b. Data b => b -> b) -> LimitedLinking nodeName -> LimitedLinking nodeName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LimitedLinking nodeName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LimitedLinking nodeName -> r #

gmapQ :: (forall d. Data d => d -> u) -> LimitedLinking nodeName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LimitedLinking nodeName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LimitedLinking nodeName -> m (LimitedLinking nodeName) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LimitedLinking nodeName -> m (LimitedLinking nodeName) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LimitedLinking nodeName -> m (LimitedLinking nodeName) #

Generic (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (LimitedLinking nodeName) :: Type -> Type #

Methods

from :: LimitedLinking nodeName -> Rep (LimitedLinking nodeName) x #

to :: Rep (LimitedLinking nodeName) x -> LimitedLinking nodeName #

Read nodeName => Read (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Show nodeName => Show (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> LimitedLinking nodeName -> ShowS #

show :: LimitedLinking nodeName -> String #

showList :: [LimitedLinking nodeName] -> ShowS #

Eq nodeName => Eq (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

(/=) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

Ord nodeName => Ord (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

compare :: LimitedLinking nodeName -> LimitedLinking nodeName -> Ordering #

(<) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

(<=) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

(>) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

(>=) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool #

max :: LimitedLinking nodeName -> LimitedLinking nodeName -> LimitedLinking nodeName #

min :: LimitedLinking nodeName -> LimitedLinking nodeName -> LimitedLinking nodeName #

type Rep (LimitedLinking nodeName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (LimitedLinking nodeName) = D1 ('MetaData "LimitedLinking" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "LimitedLinking" 'PrefixI 'True) (S1 ('MetaSel ('Just "linking") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 nodeName) :*: S1 ('MetaSel ('Just "limits") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Int, Maybe Int))))

data Link objectName linkLabel Source #

A link connects two objects and has a label.

Constructors

Link 

Fields

  • linkLabel :: linkLabel

    how the link is labeled, indicating which relationship it belongs to

  • linkFrom :: objectName

    the starting point of the link

  • linkTo :: objectName

    the end point of the link

Instances

data Object objectName className Source #

Constructors

Object 

Fields

Instances

Instances details
Bifoldable Object Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => Object m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Object a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Object a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Object a b -> c #

Bifunctor Object Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> Object a c -> Object b d #

first :: (a -> b) -> Object a c -> Object b c #

second :: (b -> c) -> Object a b -> Object a c #

Bitraversable Object Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Object a b -> f (Object c d) #

Functor (Object objectName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> Object objectName a -> Object objectName b #

(<$) :: a -> Object objectName b -> Object objectName a #

Generic (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (Object objectName className) :: Type -> Type #

Methods

from :: Object objectName className -> Rep (Object objectName className) x #

to :: Rep (Object objectName className) x -> Object objectName className #

(Read objectName, Read className) => Read (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (Object objectName className) #

readList :: ReadS [Object objectName className] #

readPrec :: ReadPrec (Object objectName className) #

readListPrec :: ReadPrec [Object objectName className] #

(Show objectName, Show className) => Show (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> Object objectName className -> ShowS #

show :: Object objectName className -> String #

showList :: [Object objectName className] -> ShowS #

(Eq objectName, Eq className) => Eq (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: Object objectName className -> Object objectName className -> Bool #

(/=) :: Object objectName className -> Object objectName className -> Bool #

(Ord objectName, Ord className) => Ord (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

compare :: Object objectName className -> Object objectName className -> Ordering #

(<) :: Object objectName className -> Object objectName className -> Bool #

(<=) :: Object objectName className -> Object objectName className -> Bool #

(>) :: Object objectName className -> Object objectName className -> Bool #

(>=) :: Object objectName className -> Object objectName className -> Bool #

max :: Object objectName className -> Object objectName className -> Object objectName className #

min :: Object objectName className -> Object objectName className -> Object objectName className #

type Rep (Object objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (Object objectName className) = D1 ('MetaData "Object" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "Object" 'PrefixI 'True) (S1 ('MetaSel ('Just "isAnonymous") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "objectName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 objectName) :*: S1 ('MetaSel ('Just "objectClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 className))))

data ObjectConfig Source #

Defines the size restrictions of an object diagram.

Constructors

ObjectConfig 

Fields

Instances

Instances details
Generic ObjectConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep ObjectConfig :: Type -> Type #

Read ObjectConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Show ObjectConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq ObjectConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ObjectConfig Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ObjectConfig = D1 ('MetaData "ObjectConfig" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ObjectConfig" 'PrefixI 'True) (S1 ('MetaSel ('Just "linkLimits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Int, Maybe Int)) :*: (S1 ('MetaSel ('Just "linksPerObjectLimits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Int, Maybe Int)) :*: S1 ('MetaSel ('Just "objectLimits") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Int, Int)))))

data ObjectDiagram objectName className linkLabel Source #

The object diagram consists of objects and links between them.

Note, the order of both, links and objects, might influence its visual appearance when drawn.

Constructors

ObjectDiagram 

Fields

  • objects :: [Object objectName className]

    all objects belonging to the object diagram

  • links :: [Link objectName linkLabel]

    all links belonging to the object diagram

Instances

Instances details
Bifoldable (ObjectDiagram a) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => ObjectDiagram a m m -> m #

bifoldMap :: Monoid m => (a0 -> m) -> (b -> m) -> ObjectDiagram a a0 b -> m #

bifoldr :: (a0 -> c -> c) -> (b -> c -> c) -> c -> ObjectDiagram a a0 b -> c #

bifoldl :: (c -> a0 -> c) -> (c -> b -> c) -> c -> ObjectDiagram a a0 b -> c #

Bifunctor (ObjectDiagram a) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a0 -> b) -> (c -> d) -> ObjectDiagram a a0 c -> ObjectDiagram a b d #

first :: (a0 -> b) -> ObjectDiagram a a0 c -> ObjectDiagram a b c #

second :: (b -> c) -> ObjectDiagram a a0 b -> ObjectDiagram a a0 c #

Bitraversable (ObjectDiagram a) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a0 -> f c) -> (b -> f d) -> ObjectDiagram a a0 b -> f (ObjectDiagram a c d) #

Functor (ObjectDiagram objectName className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> ObjectDiagram objectName className a -> ObjectDiagram objectName className b #

(<$) :: a -> ObjectDiagram objectName className b -> ObjectDiagram objectName className a #

Generic (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (ObjectDiagram objectName className linkLabel) :: Type -> Type #

Methods

from :: ObjectDiagram objectName className linkLabel -> Rep (ObjectDiagram objectName className linkLabel) x #

to :: Rep (ObjectDiagram objectName className linkLabel) x -> ObjectDiagram objectName className linkLabel #

(Read objectName, Read className, Read linkLabel) => Read (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (ObjectDiagram objectName className linkLabel) #

readList :: ReadS [ObjectDiagram objectName className linkLabel] #

readPrec :: ReadPrec (ObjectDiagram objectName className linkLabel) #

readListPrec :: ReadPrec [ObjectDiagram objectName className linkLabel] #

(Show objectName, Show className, Show linkLabel) => Show (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> ObjectDiagram objectName className linkLabel -> ShowS #

show :: ObjectDiagram objectName className linkLabel -> String #

showList :: [ObjectDiagram objectName className linkLabel] -> ShowS #

(Eq objectName, Eq className, Eq linkLabel) => Eq (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

(/=) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

(Ord objectName, Ord className, Ord linkLabel) => Ord (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

compare :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Ordering #

(<) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

(<=) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

(>) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

(>=) :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> Bool #

max :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel #

min :: ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel #

type Rep (ObjectDiagram objectName className linkLabel) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (ObjectDiagram objectName className linkLabel) = D1 ('MetaData "ObjectDiagram" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ObjectDiagram" 'PrefixI 'True) (S1 ('MetaSel ('Just "objects") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Object objectName className]) :*: S1 ('MetaSel ('Just "links") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Link objectName linkLabel])))

data ObjectProperties Source #

Defines structural constraints of an object diagram.

Constructors

ObjectProperties 

Fields

Instances

Instances details
Generic ObjectProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep ObjectProperties :: Type -> Type #

Read ObjectProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Show ObjectProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq ObjectProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ObjectProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ObjectProperties = D1 ('MetaData "ObjectProperties" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ObjectProperties" 'PrefixI 'True) ((S1 ('MetaSel ('Just "anonymousObjectProportion") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Rational) :*: S1 ('MetaSel ('Just "completelyInhabited") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Bool))) :*: (S1 ('MetaSel ('Just "hasLimitedIsolatedObjects") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Bool) :*: (S1 ('MetaSel ('Just "hasSelfLoops") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "usesEveryRelationshipName") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe Bool))))))

data OmittedDefaultMultiplicities Source #

Defines default multiplicities which should be omitted when drawing the class diagram.

Instances

Instances details
Data OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> OmittedDefaultMultiplicities -> c OmittedDefaultMultiplicities #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c OmittedDefaultMultiplicities #

toConstr :: OmittedDefaultMultiplicities -> Constr #

dataTypeOf :: OmittedDefaultMultiplicities -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c OmittedDefaultMultiplicities) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c OmittedDefaultMultiplicities) #

gmapT :: (forall b. Data b => b -> b) -> OmittedDefaultMultiplicities -> OmittedDefaultMultiplicities #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> OmittedDefaultMultiplicities -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> OmittedDefaultMultiplicities -> r #

gmapQ :: (forall d. Data d => d -> u) -> OmittedDefaultMultiplicities -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> OmittedDefaultMultiplicities -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> OmittedDefaultMultiplicities -> m OmittedDefaultMultiplicities #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> OmittedDefaultMultiplicities -> m OmittedDefaultMultiplicities #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> OmittedDefaultMultiplicities -> m OmittedDefaultMultiplicities #

Generic OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep OmittedDefaultMultiplicities :: Type -> Type #

Read OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

Show OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep OmittedDefaultMultiplicities Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep OmittedDefaultMultiplicities = D1 ('MetaData "OmittedDefaultMultiplicities" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "OmittedDefaultMultiplicities" 'PrefixI 'True) (S1 ('MetaSel ('Just "aggregationWholeOmittedDefaultMultiplicity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Int, Maybe Int))) :*: (S1 ('MetaSel ('Just "associationOmittedDefaultMultiplicity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Int, Maybe Int))) :*: S1 ('MetaSel ('Just "compositionWholeOmittedDefaultMultiplicity") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe (Int, Maybe Int))))))

data Property Source #

Instances

Instances details
Data Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Property -> c Property #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Property #

toConstr :: Property -> Constr #

dataTypeOf :: Property -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Property) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Property) #

gmapT :: (forall b. Data b => b -> b) -> Property -> Property #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Property -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Property -> r #

gmapQ :: (forall d. Data d => d -> u) -> Property -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Property -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Property -> m Property #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Property -> m Property #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Property -> m Property #

Bounded Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Enum Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Generic Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep Property :: Type -> Type #

Methods

from :: Property -> Rep Property x #

to :: Rep Property x -> Property #

Read Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Show Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq Property Source # 
Instance details

Defined in Modelling.CdOd.Types

Ord Property Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep Property Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep Property = D1 ('MetaData "Property" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (((C1 ('MetaCons "CompositionCycles" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DoubleRelationships" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "InheritanceCycles" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InvalidInheritanceLimits" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MultipleInheritances" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "ReverseInheritances" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ReverseRelationships" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SelfInheritances" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "SelfRelationships" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WrongAssociationLimits" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "WrongCompositionLimits" 'PrefixI 'False) (U1 :: Type -> Type)))))

data Relationship className relationshipName Source #

All possible relationships within a ClassDiagram.

Constructors

Association 

Fields

Aggregation 

Fields

Composition 

Fields

Inheritance 

Fields

Instances

Instances details
Bifoldable Relationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bifold :: Monoid m => Relationship m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Relationship a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Relationship a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Relationship a b -> c #

Bifunctor Relationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bimap :: (a -> b) -> (c -> d) -> Relationship a c -> Relationship b d #

first :: (a -> b) -> Relationship a c -> Relationship b c #

second :: (b -> c) -> Relationship a b -> Relationship a c #

Bitraversable Relationship Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Relationship a b -> f (Relationship c d) #

Functor (Relationship className) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

fmap :: (a -> b) -> Relationship className a -> Relationship className b #

(<$) :: a -> Relationship className b -> Relationship className a #

(Data relationshipName, Data className) => Data (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Relationship className relationshipName -> c (Relationship className relationshipName) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Relationship className relationshipName) #

toConstr :: Relationship className relationshipName -> Constr #

dataTypeOf :: Relationship className relationshipName -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Relationship className relationshipName)) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Relationship className relationshipName)) #

gmapT :: (forall b. Data b => b -> b) -> Relationship className relationshipName -> Relationship className relationshipName #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Relationship className relationshipName -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Relationship className relationshipName -> r #

gmapQ :: (forall d. Data d => d -> u) -> Relationship className relationshipName -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Relationship className relationshipName -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Relationship className relationshipName -> m (Relationship className relationshipName) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Relationship className relationshipName -> m (Relationship className relationshipName) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Relationship className relationshipName -> m (Relationship className relationshipName) #

Generic (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep (Relationship className relationshipName) :: Type -> Type #

Methods

from :: Relationship className relationshipName -> Rep (Relationship className relationshipName) x #

to :: Rep (Relationship className relationshipName) x -> Relationship className relationshipName #

(Read relationshipName, Read className) => Read (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

readsPrec :: Int -> ReadS (Relationship className relationshipName) #

readList :: ReadS [Relationship className relationshipName] #

readPrec :: ReadPrec (Relationship className relationshipName) #

readListPrec :: ReadPrec [Relationship className relationshipName] #

(Show relationshipName, Show className) => Show (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> Relationship className relationshipName -> ShowS #

show :: Relationship className relationshipName -> String #

showList :: [Relationship className relationshipName] -> ShowS #

(Eq relationshipName, Eq className) => Eq (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

(==) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

(/=) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

(Ord relationshipName, Ord className) => Ord (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

compare :: Relationship className relationshipName -> Relationship className relationshipName -> Ordering #

(<) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

(<=) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

(>) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

(>=) :: Relationship className relationshipName -> Relationship className relationshipName -> Bool #

max :: Relationship className relationshipName -> Relationship className relationshipName -> Relationship className relationshipName #

min :: Relationship className relationshipName -> Relationship className relationshipName -> Relationship className relationshipName #

type Rep (Relationship className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep (Relationship className relationshipName) = D1 ('MetaData "Relationship" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) ((C1 ('MetaCons "Association" 'PrefixI 'True) (S1 ('MetaSel ('Just "associationName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 relationshipName) :*: (S1 ('MetaSel ('Just "associationFrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className)) :*: S1 ('MetaSel ('Just "associationTo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className)))) :+: C1 ('MetaCons "Aggregation" 'PrefixI 'True) (S1 ('MetaSel ('Just "aggregationName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 relationshipName) :*: (S1 ('MetaSel ('Just "aggregationPart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className)) :*: S1 ('MetaSel ('Just "aggregationWhole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className))))) :+: (C1 ('MetaCons "Composition" 'PrefixI 'True) (S1 ('MetaSel ('Just "compositionName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 relationshipName) :*: (S1 ('MetaSel ('Just "compositionPart") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className)) :*: S1 ('MetaSel ('Just "compositionWhole") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (LimitedLinking className)))) :+: C1 ('MetaCons "Inheritance" 'PrefixI 'True) (S1 ('MetaSel ('Just "subClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 className) :*: S1 ('MetaSel ('Just "superClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 className))))

data RelationshipMutation Source #

The basic mutation operations.

Constructors

ChangeKind 
ChangeLimit 
Flip 

Instances

Instances details
Bounded RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Enum RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Generic RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep RelationshipMutation :: Type -> Type #

Read RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Show RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Ord RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Enumerable RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

enumerate :: forall (f :: Type -> Type). (Typeable f, Sized f) => Shared f RelationshipMutation

type Rep RelationshipMutation Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep RelationshipMutation = D1 ('MetaData "RelationshipMutation" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "ChangeKind" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ChangeLimit" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Flip" 'PrefixI 'False) (U1 :: Type -> Type)))

data RelationshipProperties Source #

Instances

Instances details
Generic RelationshipProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep RelationshipProperties :: Type -> Type #

Read RelationshipProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

Show RelationshipProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep RelationshipProperties Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep RelationshipProperties = D1 ('MetaData "RelationshipProperties" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "RelationshipProperties" 'PrefixI 'True) (((S1 ('MetaSel ('Just "invalidInheritances") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Just "wrongNonInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "wrongCompositions") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int))) :*: (S1 ('MetaSel ('Just "selfRelationshipsAmount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: (S1 ('MetaSel ('Just "selfInheritancesAmount") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Int) :*: S1 ('MetaSel ('Just "hasDoubleRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool))))) :*: ((S1 ('MetaSel ('Just "hasReverseRelationships") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: (S1 ('MetaSel ('Just "hasReverseInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "hasMultipleInheritances") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))) :*: ((S1 ('MetaSel ('Just "hasNonTrivialInheritanceCycles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool) :*: S1 ('MetaSel ('Just "hasCompositionCycles") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Bool)) :*: (S1 ('MetaSel ('Just "hasCompositionsPreventingParts") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)) :*: S1 ('MetaSel ('Just "hasThickEdges") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Bool)))))))

newtype WrongRelationshipException className relationshipName Source #

Constructors

UnexpectedInvalidRelationship (AnyRelationship className relationshipName) 

Instances

Instances details
(Show className, Show relationshipName, Typeable className, Typeable relationshipName) => Exception (WrongRelationshipException className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

toException :: WrongRelationshipException className relationshipName -> SomeException #

fromException :: SomeException -> Maybe (WrongRelationshipException className relationshipName) #

displayException :: WrongRelationshipException className relationshipName -> String #

(Show className, Show relationshipName) => Show (WrongRelationshipException className relationshipName) Source # 
Instance details

Defined in Modelling.CdOd.Types

Methods

showsPrec :: Int -> WrongRelationshipException className relationshipName -> ShowS #

show :: WrongRelationshipException className relationshipName -> String #

showList :: [WrongRelationshipException className relationshipName] -> ShowS #

anonymiseObjects :: MonadRandom m => Rational -> ObjectDiagram className relationshipName linkLabel -> m (ObjectDiagram className relationshipName linkLabel) Source #

anyRelationshipName :: AnyRelationship className relationshipName -> Maybe relationshipName Source #

checkCdDrawProperties :: CdDrawSettings -> AllowedProperties -> Maybe String Source #

Checks compatibility of draw settings with allowed properties preventing situations that could be misinterpreted.

checkClassConfigAndObjectProperties :: ClassConfig -> ObjectProperties -> Maybe String Source #

Configuration checks for the interplay of provided class diagram and object diagram configurations.

checkObjectDiagram :: Ord objectName => ObjectDiagram objectName className linkLabel -> Maybe String Source #

classNamesOd :: Ord className => ObjectDiagram objectName className linkLabel -> [className] Source #

fromClassDiagram :: ClassDiagram className relationshipName -> AnyClassDiagram className relationshipName Source #

linkLabels :: Ord linkLabel => ObjectDiagram objectName className linkLabel -> [linkLabel] Source #

maxFiveObjects :: ObjectConfig Source #

Defines an ObjectConfig demanding at least one but at most five objects without restricting links.

maxObjects :: Int -> ObjectConfig Source #

Defines an ObjectConfig demanding at least one but at most the given number of objects without restricting links.

normaliseObjectDiagram :: (Ord className, Ord linkLabel, Ord objectName) => ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel Source #

Sort objects, and links of the ObjectDiagram. This enables better comparison (especially for test cases).

rangeWithDefault Source #

Arguments

:: Maybe (Int, Maybe Int)

the default

-> (Int, Maybe Int)

range for which to return the range expression

-> Maybe String 

A range expression as shown in class diagrams (or Nothing if default is hit).

renameClassesAndRelationships :: (Bitraversable f, MonadThrow m, Ord c, Ord c', Ord r, Ord r') => Bimap c c' -> Bimap r r' -> f c r -> m (f c' r') Source #

Renaming AnnotatedClassDiagramgs, ClassDiagrams and Relationships is possible using this function

renameObjectsWithClassesAndLinksInOd :: (MonadThrow m, Ord linkLabels, Ord linkLabels') => Bimap String String -> Bimap linkLabels linkLabels' -> ObjectDiagram String String linkLabels -> m (ObjectDiagram String String linkLabels') Source #

shuffleAnnotatedClassAndConnectionOrder :: MonadRandom m => AnnotatedClassDiagram annotation classes relationships -> m (AnnotatedClassDiagram annotation classes relationships) Source #

shuffleCdNames :: (MonadRandom m, Traversable t, MonadThrow m) => t Cd -> m (t Cd) Source #

Given a collection of CDs use all used class and relationship names and shuffle them respectively.

shuffleClassAndConnectionOrder :: MonadRandom m => Cd -> m Cd Source #

shuffleObjectAndLinkOrder :: MonadRandom m => ObjectDiagram objectName className linkLabel -> m (ObjectDiagram objectName className linkLabel) Source #

toPropertySet :: RelationshipProperties -> Set Property Source #

Create a set of properties based on a RelationshipProperties configuration.

toValidCd :: (Eq className, MonadThrow m, Show className, Show relationshipName, Typeable className, Typeable relationshipName) => AnyClassDiagram className relationshipName -> m (ClassDiagram className relationshipName) Source #

unannotateCd :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> AnyClassDiagram className relationshipName Source #

Phrasing

data ArticlePreference Source #

When indefinite articles can not be avoided completely

Constructors

UseDefiniteArticleWherePossible

prefer definite articles

UseIndefiniteArticleEverywhere

always use indefinite articles

Instances

Instances details
Generic ArticlePreference Source # 
Instance details

Defined in Modelling.CdOd.Types

Associated Types

type Rep ArticlePreference :: Type -> Type #

Read ArticlePreference Source # 
Instance details

Defined in Modelling.CdOd.Types

Show ArticlePreference Source # 
Instance details

Defined in Modelling.CdOd.Types

Eq ArticlePreference Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ArticlePreference Source # 
Instance details

Defined in Modelling.CdOd.Types

type Rep ArticlePreference = D1 ('MetaData "ArticlePreference" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "UseDefiniteArticleWherePossible" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "UseIndefiniteArticleEverywhere" 'PrefixI 'False) (U1 :: Type -> Type))

data NonInheritancePhrasing Source #

How to phrase non inheritance relationships

Constructors

ByDirection

refer in some way to start and end

ByName

refer to the name

Lengthy

Associations are phrased lengthy, others as ByDirection

data PhrasingKind Source #

For choosing a specific phrasing variation.

Constructors

Denoted

refer to denoted multiplicities

Participations

describe how often objects can participate

toArticleToUse :: ArticlePreference -> ArticleToUse Source #

Convert ArticlePreference directly to ArticleToUse (without conditions).

toPhrasing :: Bool -> Bool -> NonInheritancePhrasing Source #

Choose NonInheritancePhrasing according to parameters in this order * by name (first parameter) * by direction (second parameter) * otherwise lengthy