Class Person

All Implemented Interfaces:
PropertyHolder, Comparable<ModelItem>

public final class Person extends StaticStructureElement
Represents a "person" in the C4 model.
  • Method Details

    • getParent

      public Element getParent()
      Description copied from class: Element
      Gets the parent of this element.
      Specified by:
      getParent in class Element
      Returns:
      the parent Element, or null if this element doesn't have a parent (i.e. a Person or SoftwareSystem)
    • getLocation

      @Deprecated public Location getLocation()
      Deprecated.
    • getCanonicalName

      public String getCanonicalName()
      Specified by:
      getCanonicalName in class ModelItem
    • getDefaultTags

      public Set<String> getDefaultTags()
      Specified by:
      getDefaultTags in class ModelItem
    • delivers

      public Relationship delivers(@Nonnull Person destination, String description)
      Description copied from class: StaticStructureElement
      Adds a unidirectional relationship between this element and a person.
      Overrides:
      delivers in class StaticStructureElement
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "sends e-mail to")
      Returns:
      the relationship that has just been created and added to the model
    • delivers

      public Relationship delivers(Person destination, String description, String technology)
      Description copied from class: StaticStructureElement
      Adds a unidirectional relationship between this element and a person.
      Overrides:
      delivers in class StaticStructureElement
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "sends e-mail to")
      technology - the technology details (e.g. JSON/HTTPS)
      Returns:
      the relationship that has just been created and added to the model
    • delivers

      public Relationship delivers(Person destination, String description, String technology, InteractionStyle interactionStyle)
      Description copied from class: StaticStructureElement
      Adds a unidirectional relationship between this element and a person.
      Overrides:
      delivers in class StaticStructureElement
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "sends e-mail to")
      technology - the technology details (e.g. JSON/HTTPS)
      interactionStyle - the interaction style (sync vs async)
      Returns:
      the relationship that has just been created and added to the model
    • interactsWith

      public Relationship interactsWith(Person destination, String description)
      Adds an interaction between this person and another.
      Parameters:
      destination - the Person being interacted with
      description - a description of the interaction
      Returns:
      the resulting Relationship
    • interactsWith

      public Relationship interactsWith(Person destination, String description, String technology)
      Adds an interaction between this person and another.
      Parameters:
      destination - the Person being interacted with
      description - a description of the interaction
      technology - the technology of the interaction (e.g. Telephone)
      Returns:
      the resulting Relationship
    • interactsWith

      public Relationship interactsWith(Person destination, String description, String technology, InteractionStyle interactionStyle)
      Adds an interaction between this person and another.
      Parameters:
      destination - the Person being interacted with
      description - a description of the interaction
      technology - the technology of the interaction (e.g. Telephone)
      interactionStyle - the interaction style (e.g. Synchronous or Asynchronous)
      Returns:
      the resulting Relationship