Class CustomElement

All Implemented Interfaces:
PropertyHolder, Comparable<ModelItem>

public final class CustomElement extends GroupableElement
Represents a custom element.
  • Constructor Details

    • CustomElement

      protected CustomElement()
  • 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)
    • getDefaultTags

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

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

      public String getMetadata()
    • setMetadata

      public void setMetadata(String metadata)
    • uses

      @Nullable public Relationship uses(@Nonnull Element destination, String description)
      Adds a unidirectional "uses" style relationship between this custom element and the specified element.
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "uses", "gets data from", "sends data to")
      Returns:
      the relationship that has just been created and added to the model
    • uses

      @Nullable public Relationship uses(@Nonnull Element destination, String description, String technology)
      Adds a unidirectional "uses" style relationship between this custom element and the specified element.
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "uses", "gets data from", "sends data to")
      technology - the technology details (e.g. JSON/HTTPS)
      Returns:
      the relationship that has just been created and added to the model
    • uses

      @Nullable public Relationship uses(@Nonnull Element destination, String description, String technology, InteractionStyle interactionStyle)
      Adds a unidirectional "uses" style relationship between this custom element and the specified element.
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "uses", "gets data from", "sends data 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
    • uses

      @Nullable public Relationship uses(@Nonnull Element destination, String description, String technology, InteractionStyle interactionStyle, String[] tags)
      Adds a unidirectional "uses" style relationship between this custom element and the specified element.
      Parameters:
      destination - the target of the relationship
      description - a description of the relationship (e.g. "uses", "gets data from", "sends data to")
      technology - the technology details (e.g. JSON/HTTPS)
      interactionStyle - the interaction style (sync vs async)
      tags - an array of tags
      Returns:
      the relationship that has just been created and added to the model