Class ContainerView

java.lang.Object

public final class ContainerView
extends StaticView
Represents a Container view from the C4 model, showing the containers within a given software system.
  • Method Details

    • add

      public void add​(@Nonnull SoftwareSystem softwareSystem)
      Adds a software system to this view, including relationships to/from that software system. Please note that you cannot add the software system that is the scope of this view.
      Overrides:
      add in class StaticView
      Parameters:
      softwareSystem - the SoftwareSystem to add
    • add

      public void add​(@Nonnull SoftwareSystem softwareSystem, boolean addRelationships)
      Adds a software system to this view. Please note that you cannot add the software system that is the scope of this view.
      Overrides:
      add in class StaticView
      Parameters:
      softwareSystem - the SoftwareSystem to add
      addRelationships - whether to add relationships to/from the software system
    • addAllContainers

      public void addAllContainers()
      Adds all containers within the software system in scope to this view.
    • add

      public void add​(Container container)
      Adds an individual container (belonging to any software system) to this view, including relationships to/from that container.
      Parameters:
      container - the Container to add
    • add

      public void add​(Container container, boolean addRelationships)
      Adds an individual container (belonging to any software system) to this view.
      Parameters:
      container - the Container to add
      addRelationships - whether to add relationships to/from the container
    • remove

      public void remove​(Container container)
      Removes an individual container from this view.
      Parameters:
      container - the Container to remove
    • getName

      public java.lang.String getName()
      Gets the (computed) name of this view.
      Specified by:
      getName in class View
      Returns:
      the name, as a String
    • addDefaultElements

      public void addDefaultElements()
      Adds the default set of elements to this view.
      Specified by:
      addDefaultElements in class StaticView
    • addAllElements

      public void addAllElements()
      Adds all people, software systems and containers that belong to the software system in scope.
      Specified by:
      addAllElements in class StaticView
    • addNearestNeighbours

      public void addNearestNeighbours​(@Nonnull Element element)
      Adds all people, software systems and containers that are directly connected to the specified element.
      Specified by:
      addNearestNeighbours in class StaticView
      Parameters:
      element - an Element
    • addAllInfluencers

      public final void addAllInfluencers()

      Adds all Containers of the given ContainerView as well as all external influencers, that is all persons and all other software systems with incoming or outgoing dependencies.

      Additionally, all relationships of external dependencies are omitted to keep the diagram clean

    • addAllContainersAndInfluencers

      public final void addAllContainersAndInfluencers()

      Adds all Containers of the given ContainerView as well as all external influencers, that is all persons and all other software systems with incoming or outgoing dependencies.

      Additionally, all relationships of external dependencies are omitted to keep the diagram clean

    • addDependentSoftwareSystems

      public final void addDependentSoftwareSystems()
    • canBeRemoved

      protected boolean canBeRemoved​(Element element)
      Specified by:
      canBeRemoved in class View
    • getExternalSoftwareSystemBoundariesVisible

      public boolean getExternalSoftwareSystemBoundariesVisible()
      Determines whether software system boundaries should be visible for "external" containers (those outside the software system in scope).
      Returns:
      true if external software system boundaries are visible, false otherwise
    • setExternalSoftwareSystemBoundariesVisible

      public void setExternalSoftwareSystemBoundariesVisible​(boolean externalSoftwareSystemBoundariesVisible)
      Sets whether software system boundaries should be visible for "external" containers (those outside the software system in scope).
      Parameters:
      externalSoftwareSystemBoundariesVisible - true if external software system boundaries should be visible, false otherwise