trait DiagramFactory extends DiagramDirectiveParser
This trait takes care of generating the diagram for classes and packages
- Self Type
- ModelFactory with ModelFactoryTypeSupport with DiagramFactory with CommentFactory with TreeFactory
- Source
- DiagramFactory.scala
- Alphabetic
- By Inheritance
- DiagramFactory
- DiagramDirectiveParser
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Type Members
- case class AnnotationDiagramFilter(hideDiagram: Boolean, hideIncomingImplicits: Boolean, hideOutgoingImplicits: Boolean, hideSuperclasses: Boolean, hideSubclasses: Boolean, hideInheritedNodes: Boolean, hideNodesFilter: List[Pattern], hideEdgesFilter: List[(Pattern, Pattern)]) extends (DiagramDirectiveParser.this)#DiagramFilter with Product with Serializable
The AnnotationDiagramFilter trait directs the diagram engine according to an annotation TODO: Should document the annotation, for now see parseDiagramAnnotation in ModelFactory.scala
The AnnotationDiagramFilter trait directs the diagram engine according to an annotation TODO: Should document the annotation, for now see parseDiagramAnnotation in ModelFactory.scala
- Definition Classes
- DiagramDirectiveParser
- trait DiagramFilter extends AnyRef
The DiagramFilter trait directs the diagram engine about the way the diagram should be displayed
The DiagramFilter trait directs the diagram engine about the way the diagram should be displayed
Vlad: There's an explanation I owe to people using diagrams and not finding a way to hide a specific class from all diagrams at once. So why did I choose to allow you to only control the diagrams at class level? So, the reason is you would break the separate scaladoc compilation: If you have an "@diagram hideMyClass" annotation in class A and you run scaladoc on it along with its subclass B A will not appear in B's diagram. But if you scaladoc only on B, A's comment will not be parsed and the instructions to hide class A from all diagrams will not be available. Thus I prefer to force you to control the diagrams of each class locally. The problem does not appear with scalac, as scalac stores all its necessary information (like scala signatures) serialized in the .class file. But we couldn't store doc comments in the class file, could we? (Turns out we could, but that's another story)
Any flaming for this decision should go to [email protected]
- Definition Classes
- DiagramDirectiveParser
Value Members
- case object FullDiagram extends (DiagramDirectiveParser.this)#DiagramFilter with Product with Serializable
Show the entire diagram, no filtering
Show the entire diagram, no filtering
- Definition Classes
- DiagramDirectiveParser
- case object NoDiagramAtAll extends (DiagramDirectiveParser.this)#DiagramFilter with Product with Serializable
Hide the diagram completely, no need for special filtering
Hide the diagram completely, no need for special filtering
- Definition Classes
- DiagramDirectiveParser
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from DiagramFactory toany2stringadd[DiagramFactory] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (DiagramFactory, B)
- Implicit
- This member is added by an implicit conversion from DiagramFactory toArrowAssoc[DiagramFactory] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def aggregationNode(text: String): NormalNode
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensuring(cond: (DiagramFactory) => Boolean, msg: => Any): DiagramFactory
- Implicit
- This member is added by an implicit conversion from DiagramFactory toEnsuring[DiagramFactory] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (DiagramFactory) => Boolean): DiagramFactory
- Implicit
- This member is added by an implicit conversion from DiagramFactory toEnsuring[DiagramFactory] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): DiagramFactory
- Implicit
- This member is added by an implicit conversion from DiagramFactory toEnsuring[DiagramFactory] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): DiagramFactory
- Implicit
- This member is added by an implicit conversion from DiagramFactory toEnsuring[DiagramFactory] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): java.lang.Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def makeContentDiagram(pack: (DiagramFactory.this)#DocTemplateImpl): Option[Diagram]
Create the content diagram for this template
- def makeContentDiagramFilter(template: (DiagramFactory.this)#DocTemplateImpl): (DiagramFactory.this)#DiagramFilter
Main entry point into this trait: generate the filter for content diagrams
Main entry point into this trait: generate the filter for content diagrams
- Definition Classes
- DiagramDirectiveParser
- def makeInheritanceDiagram(tpl: (DiagramFactory.this)#DocTemplateImpl): Option[Diagram]
Create the inheritance diagram for this template
- def makeInheritanceDiagramFilter(template: (DiagramFactory.this)#DocTemplateImpl): (DiagramFactory.this)#DiagramFilter
Main entry point into this trait: generate the filter for inheritance diagrams
Main entry point into this trait: generate the filter for inheritance diagrams
- Definition Classes
- DiagramDirectiveParser
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val tFilter: Long
- Attributes
- protected
- Definition Classes
- DiagramDirectiveParser
- val tModel: Long
- Attributes
- protected
- Definition Classes
- DiagramDirectiveParser
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
Deprecated Value Members
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from DiagramFactory toStringFormat[DiagramFactory] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (DiagramFactory, B)
- Implicit
- This member is added by an implicit conversion from DiagramFactory toArrowAssoc[DiagramFactory] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
The Scala compiler and reflection APIs.