Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Modelling.CdOd.Types
Contents
Synopsis
- data AllowedProperties = AllowedProperties {}
- type AnnotatedCd annotation = AnnotatedClassDiagram annotation String String
- data AnnotatedClassDiagram relationshipAnnotation className relationshipName = AnnotatedClassDiagram {
- annotatedClasses :: [className]
- annotatedRelationships :: [Annotation relationshipAnnotation (AnyRelationship className relationshipName)]
- data Annotation annotation annotated = Annotation {
- annotated :: annotated
- annotation :: annotation
- type AnyCd = AnyClassDiagram String String
- data AnyClassDiagram className relationshipName = AnyClassDiagram {
- anyClassNames :: ![className]
- anyRelationships :: ![AnyRelationship className relationshipName]
- type AnyRelationship className relationshipName = Either (InvalidRelationship className relationshipName) (Relationship className relationshipName)
- type Cd = ClassDiagram String String
- newtype CdConstraints = CdConstraints {}
- data CdDrawSettings = CdDrawSettings {}
- data CdMutation
- data ClassConfig = ClassConfig {
- classLimits :: (Int, Int)
- aggregationLimits :: (Int, Maybe Int)
- associationLimits :: (Int, Maybe Int)
- compositionLimits :: (Int, Maybe Int)
- inheritanceLimits :: (Int, Maybe Int)
- relationshipLimits :: (Int, Maybe Int)
- data ClassDiagram className relationshipName = ClassDiagram {
- classNames :: [className]
- relationships :: [Relationship className relationshipName]
- data DefaultedLimitedLinking = DefaultedLimitedLinking {
- defaultedLimits :: Maybe (Int, Maybe Int)
- defaultedRange :: Maybe String
- defaultedLinking :: !String
- data InvalidRelationship className relationshipName = InvalidInheritance {
- invalidSubClass :: !(LimitedLinking className)
- invalidSuperClass :: !(LimitedLinking className)
- data LimitedLinking nodeName = LimitedLinking {}
- data Link objectName linkLabel = Link {}
- data Object objectName className = Object {
- isAnonymous :: !Bool
- objectName :: objectName
- objectClass :: className
- data ObjectConfig = ObjectConfig {
- linkLimits :: !(Int, Maybe Int)
- linksPerObjectLimits :: !(Int, Maybe Int)
- objectLimits :: !(Int, Int)
- data ObjectDiagram objectName className linkLabel = ObjectDiagram {}
- data ObjectProperties = ObjectProperties {}
- type Od = ObjectDiagram String String String
- data OmittedDefaultMultiplicities = OmittedDefaultMultiplicities {}
- data Property
- data Relationship className relationshipName
- = Association {
- associationName :: relationshipName
- associationFrom :: LimitedLinking className
- associationTo :: LimitedLinking className
- | Aggregation {
- aggregationName :: relationshipName
- aggregationPart :: LimitedLinking className
- aggregationWhole :: LimitedLinking className
- | Composition {
- compositionName :: relationshipName
- compositionPart :: LimitedLinking className
- compositionWhole :: LimitedLinking className
- | Inheritance {
- subClass :: className
- superClass :: className
- = Association {
- data RelationshipMutation
- data RelationshipProperties = RelationshipProperties {
- invalidInheritances :: !Int
- wrongNonInheritances :: Int
- wrongCompositions :: Int
- selfRelationshipsAmount :: Int
- selfInheritancesAmount :: Int
- hasDoubleRelationships :: Maybe Bool
- hasReverseRelationships :: Maybe Bool
- hasReverseInheritances :: Bool
- hasMultipleInheritances :: Maybe Bool
- hasNonTrivialInheritanceCycles :: Bool
- hasCompositionCycles :: Bool
- hasCompositionsPreventingParts :: Maybe Bool
- hasThickEdges :: Maybe Bool
- newtype WrongRelationshipException className relationshipName = UnexpectedInvalidRelationship (AnyRelationship className relationshipName)
- allCdMutations :: [CdMutation]
- allowEverything :: AllowedProperties
- allowNothing :: AllowedProperties
- anonymiseObjects :: MonadRandom m => Rational -> ObjectDiagram className relationshipName linkLabel -> m (ObjectDiagram className relationshipName linkLabel)
- anyAssociationNames :: AnyCd -> [String]
- anyRelationshipName :: AnyRelationship className relationshipName -> Maybe relationshipName
- anyThickEdge :: Cd -> Bool
- associationNames :: Cd -> [String]
- calculateThickAnyRelationships :: AnyCd -> [(Bool, AnyRelationship String String)]
- checkCdConstraints :: AllowedProperties -> CdConstraints -> Maybe String
- checkCdDrawProperties :: CdDrawSettings -> AllowedProperties -> Maybe String
- checkCdDrawSettings :: CdDrawSettings -> Maybe String
- checkCdMutations :: [CdMutation] -> Maybe String
- checkClassConfig :: ClassConfig -> Maybe String
- checkClassConfigAndObjectProperties :: ClassConfig -> ObjectProperties -> Maybe String
- checkClassConfigWithProperties :: ClassConfig -> RelationshipProperties -> Maybe String
- checkObjectDiagram :: Ord objectName => ObjectDiagram objectName className linkLabel -> Maybe String
- checkObjectProperties :: ObjectProperties -> Maybe String
- checkOmittedDefaultMultiplicities :: OmittedDefaultMultiplicities -> Maybe String
- classNamesOd :: Ord className => ObjectDiagram objectName className linkLabel -> [className]
- defaultCdConstraints :: CdConstraints
- defaultCdDrawSettings :: CdDrawSettings
- defaultedLimitedLinking :: Maybe (Int, Maybe Int) -> LimitedLinking String -> DefaultedLimitedLinking
- defaultOmittedDefaultMultiplicities :: OmittedDefaultMultiplicities
- defaultProperties :: RelationshipProperties
- fromClassDiagram :: ClassDiagram className relationshipName -> AnyClassDiagram className relationshipName
- isIllegal :: Property -> Bool
- isObjectDiagramRandomisable :: ObjectDiagram String String linkLabels -> Maybe String
- linkLabels :: Ord linkLabel => ObjectDiagram objectName className linkLabel -> [linkLabel]
- maxFiveObjects :: ObjectConfig
- maxObjects :: Int -> ObjectConfig
- maxRelationships :: ClassConfig -> Int
- normaliseObjectDiagram :: (Ord className, Ord linkLabel, Ord objectName) => ObjectDiagram objectName className linkLabel -> ObjectDiagram objectName className linkLabel
- rangeWithDefault :: Maybe (Int, Maybe Int) -> (Int, Maybe Int) -> Maybe String
- relationshipName :: Relationship c r -> Maybe r
- 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')
- renameObjectsWithClassesAndLinksInOd :: (MonadThrow m, Ord linkLabels, Ord linkLabels') => Bimap String String -> Bimap linkLabels linkLabels' -> ObjectDiagram String String linkLabels -> m (ObjectDiagram String String linkLabels')
- shuffleAnnotatedClassAndConnectionOrder :: MonadRandom m => AnnotatedClassDiagram annotation classes relationships -> m (AnnotatedClassDiagram annotation classes relationships)
- shuffleCdNames :: (MonadRandom m, Traversable t, MonadThrow m) => t Cd -> m (t Cd)
- shuffleClassAndConnectionOrder :: MonadRandom m => Cd -> m Cd
- shuffleAnyClassAndConnectionOrder :: MonadRandom m => AnyCd -> m AnyCd
- shuffleObjectAndLinkOrder :: MonadRandom m => ObjectDiagram objectName className linkLabel -> m (ObjectDiagram objectName className linkLabel)
- sortLimits :: DefaultedLimitedLinking -> DefaultedLimitedLinking -> (DefaultedLimitedLinking, DefaultedLimitedLinking)
- toPropertySet :: RelationshipProperties -> Set Property
- toValidCd :: (Eq className, MonadThrow m, Show className, Show relationshipName, Typeable className, Typeable relationshipName) => AnyClassDiagram className relationshipName -> m (ClassDiagram className relationshipName)
- towardsValidProperties :: RelationshipProperties -> RelationshipProperties
- unannotateCd :: AnnotatedClassDiagram relationshipAnnotation className relationshipName -> AnyClassDiagram className relationshipName
- data ArticlePreference
- data NonInheritancePhrasing
- = ByDirection
- | ByName
- | Lengthy
- data PhrasingKind
- toArticleToUse :: ArticlePreference -> ArticleToUse
- toPhrasing :: Bool -> Bool -> NonInheritancePhrasing
Documentation
data AllowedProperties Source #
Constructors
AllowedProperties | |
Instances
type AnnotatedCd annotation = AnnotatedClassDiagram annotation String String Source #
data AnnotatedClassDiagram relationshipAnnotation className relationshipName Source #
Constructors
AnnotatedClassDiagram | |
Fields
|
Instances
Bifoldable (AnnotatedClassDiagram relationshipAnnotation) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
Bifoldable Annotation Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
Bifoldable AnyClassDiagram Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
Generic CdConstraints Source # | |
Defined in Modelling.CdOd.Types Associated Types type Rep CdConstraints :: Type -> Type # | |
Read CdConstraints Source # | |
Defined in Modelling.CdOd.Types Methods readsPrec :: Int -> ReadS CdConstraints # readList :: ReadS [CdConstraints] # | |
Show CdConstraints Source # | |
Defined in Modelling.CdOd.Types Methods showsPrec :: Int -> CdConstraints -> ShowS # show :: CdConstraints -> String # showList :: [CdConstraints] -> ShowS # | |
Eq CdConstraints Source # | |
Defined in Modelling.CdOd.Types Methods (==) :: CdConstraints -> CdConstraints -> Bool # (/=) :: CdConstraints -> CdConstraints -> Bool # | |
type Rep CdConstraints Source # | |
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
data CdMutation Source #
Instances
data ClassConfig Source #
Constructors
ClassConfig | |
Fields
|
Instances
data ClassDiagram className relationshipName Source #
Constructors
ClassDiagram | |
Fields
|
Instances
Bifoldable ClassDiagram Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
Bifoldable InvalidRelationship Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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.
Instances
Foldable LimitedLinking Source # | |
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 # | |
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 # | |
Defined in Modelling.CdOd.Types Methods fmap :: (a -> b) -> LimitedLinking a -> LimitedLinking b # (<$) :: a -> LimitedLinking b -> LimitedLinking a # | |
Data nodeName => Data (LimitedLinking nodeName) Source # | |
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 # | |
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 # | |
Defined in Modelling.CdOd.Types Methods readsPrec :: Int -> ReadS (LimitedLinking nodeName) # readList :: ReadS [LimitedLinking nodeName] # readPrec :: ReadPrec (LimitedLinking nodeName) # readListPrec :: ReadPrec [LimitedLinking nodeName] # | |
Show nodeName => Show (LimitedLinking nodeName) Source # | |
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 # | |
Defined in Modelling.CdOd.Types Methods (==) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool # (/=) :: LimitedLinking nodeName -> LimitedLinking nodeName -> Bool # | |
Ord nodeName => Ord (LimitedLinking nodeName) Source # | |
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 # | |
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 | |
Instances
Bifoldable Link Source # | |
Bifunctor Link Source # | |
Bitraversable Link Source # | |
Defined in Modelling.CdOd.Types Methods bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Link a b -> f (Link c d) # | |
Functor (Link objectName) Source # | |
Generic (Link objectName linkLabel) Source # | |
(Read linkLabel, Read objectName) => Read (Link objectName linkLabel) Source # | |
(Show linkLabel, Show objectName) => Show (Link objectName linkLabel) Source # | |
(Eq linkLabel, Eq objectName) => Eq (Link objectName linkLabel) Source # | |
(Ord linkLabel, Ord objectName) => Ord (Link objectName linkLabel) Source # | |
Defined in Modelling.CdOd.Types Methods compare :: Link objectName linkLabel -> Link objectName linkLabel -> Ordering # (<) :: Link objectName linkLabel -> Link objectName linkLabel -> Bool # (<=) :: Link objectName linkLabel -> Link objectName linkLabel -> Bool # (>) :: Link objectName linkLabel -> Link objectName linkLabel -> Bool # (>=) :: Link objectName linkLabel -> Link objectName linkLabel -> Bool # max :: Link objectName linkLabel -> Link objectName linkLabel -> Link objectName linkLabel # min :: Link objectName linkLabel -> Link objectName linkLabel -> Link objectName linkLabel # | |
type Rep (Link objectName linkLabel) Source # | |
Defined in Modelling.CdOd.Types type Rep (Link objectName linkLabel) = D1 ('MetaData "Link" "Modelling.CdOd.Types" "modelling-tasks-0.0.0.1-5lkaY76HE6k79qLVIy6Ku2" 'False) (C1 ('MetaCons "Link" 'PrefixI 'True) (S1 ('MetaSel ('Just "linkLabel") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 linkLabel) :*: (S1 ('MetaSel ('Just "linkFrom") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 objectName) :*: S1 ('MetaSel ('Just "linkTo") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 objectName)))) |
data Object objectName className Source #
Constructors
Object | |
Fields
|
Instances
Bifoldable Object Source # | |
Bifunctor Object Source # | |
Bitraversable Object Source # | |
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 # | |
Generic (Object objectName className) Source # | |
(Read objectName, Read className) => Read (Object objectName className) Source # | |
(Show objectName, Show className) => Show (Object objectName className) Source # | |
(Eq objectName, Eq className) => Eq (Object objectName className) Source # | |
(Ord objectName, Ord className) => Ord (Object objectName className) Source # | |
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 # | |
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
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 | |
Instances
Bifoldable (ObjectDiagram a) Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
data OmittedDefaultMultiplicities Source #
Defines default multiplicities which should be omitted when drawing the class diagram.
Constructors
OmittedDefaultMultiplicities | |
Fields |
Instances
Constructors
Instances
Data Property Source # | |
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 # | |
Enum Property Source # | |
Defined in Modelling.CdOd.Types | |
Generic Property Source # | |
Read Property Source # | |
Show Property Source # | |
Eq Property Source # | |
Ord Property Source # | |
Defined in Modelling.CdOd.Types | |
type Rep Property Source # | |
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
Bifoldable Relationship Source # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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 # | |
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
data RelationshipProperties Source #
Constructors
Instances
newtype WrongRelationshipException className relationshipName Source #
Constructors
UnexpectedInvalidRelationship (AnyRelationship className relationshipName) |
Instances
(Show className, Show relationshipName, Typeable className, Typeable relationshipName) => Exception (WrongRelationshipException className relationshipName) Source # | |
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 # | |
Defined in Modelling.CdOd.Types Methods showsPrec :: Int -> WrongRelationshipException className relationshipName -> ShowS # show :: WrongRelationshipException className relationshipName -> String # showList :: [WrongRelationshipException className relationshipName] -> ShowS # |
allCdMutations :: [CdMutation] Source #
anonymiseObjects :: MonadRandom m => Rational -> ObjectDiagram className relationshipName linkLabel -> m (ObjectDiagram className relationshipName linkLabel) Source #
anyAssociationNames :: AnyCd -> [String] Source #
anyRelationshipName :: AnyRelationship className relationshipName -> Maybe relationshipName Source #
anyThickEdge :: Cd -> Bool Source #
associationNames :: Cd -> [String] Source #
checkCdDrawProperties :: CdDrawSettings -> AllowedProperties -> Maybe String Source #
Checks compatibility of draw settings with allowed properties preventing situations that could be misinterpreted.
checkCdMutations :: [CdMutation] -> Maybe String Source #
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 #
defaultedLimitedLinking :: Maybe (Int, Maybe Int) -> LimitedLinking String -> DefaultedLimitedLinking Source #
Smart constructor for creating DefaultedLimitedLinking
based on a default and a LimitedLinking
.
fromClassDiagram :: ClassDiagram className relationshipName -> AnyClassDiagram className relationshipName Source #
isObjectDiagramRandomisable :: ObjectDiagram String String linkLabels -> Maybe String 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.
maxRelationships :: ClassConfig -> Int Source #
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).
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).
relationshipName :: Relationship c r -> Maybe r Source #
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 AnnotatedClassDiagram
gs, ClassDiagram
s and Relationship
s
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 #
shuffleAnyClassAndConnectionOrder :: MonadRandom m => AnyCd -> m AnyCd Source #
shuffleObjectAndLinkOrder :: MonadRandom m => ObjectDiagram objectName className linkLabel -> m (ObjectDiagram objectName className linkLabel) Source #
sortLimits :: DefaultedLimitedLinking -> DefaultedLimitedLinking -> (DefaultedLimitedLinking, DefaultedLimitedLinking) Source #
Return lower limit first, higher second.
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
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 |
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